更新时间:2023-12-28 12:58
网络服务器是计算机局域网的核心部件。网络操作系统是在网络服务器上运行的,网络服务器的效率直接影响整个网络的效率。因此,一般要用高档计算机或专用服务器计算机作为网络服务器。网络服务器主要有以下4个作用:
在标准的C/S模式计算机网络中,网络服务器可在两种不同的方式下工作:循环方式(iterative mode)和并发方式(concur-rent mode)。循环方式是在服务器中一次只能运行一个服务器进程,当多个客户请求服务时,服务器进程就按请求的先后次序依次做出响应;并发方式则可在服务器中同时运行多个服务器进程,而每个服务器进程都对某个特定的客户请求做出响应。
这两种服务器模型各有优缺点。当服务耗时较长时,如果采用循环服务器,客户机将得不到快速响应,甚至可能出现客户机请求被拒绝的情况,但是这种服务器消耗的系统资源很少,实现起来比较简单。并发服务器为每一个请求创建一个子进程,可以保证同时处理多个客户机请求,使用这种服务器模型一般不会造成拒绝客户机请求的情况,但是如果频繁创建子进程,将会加重服务器的负担。在实际的网络应用中,服务器要同时处理多个客户的请求,所以通常采用并发方式。
通常,网络服务器可以采用如下4种实现技术:
1)“”即时创建,即时销毁策略“”,即服务器和每个发出请求的客户机进行连接,并为每个客户机的请求创建一个子进程来处理。
并发服务器启动后,系统守护进程在某个固定的端口监听是否有客户发起连接请求。如果收到某个客户的请求,服务器守护进程创建一个子进程来处理客户的请求,而守护进程则继续在原有端口监听其他客户的连接请求。子进程完成对客户的服务后,关闭连接,释放其占有的资源,自动退出。
显然,这种并发服务器存在以下不足:(1).统时延长。在为客户进程提供服务前,服务器父进程需创建一个新的子进程,因此客户进程必须至少等待创建一个子进程的时延。对于一些实时性要求很高的网络应用,这样的时延是不能忍受的;(2)溃源耗用大。对于每个客户进程的请求,服务器父进程都要创建新的子进程。每个子进程都要占用几乎与父进程相当的资源。因此,在许多系统中都对创建进程的数量做了限制;(3)溃源利用率低。父进程和子进程间缺乏一种有效的进程间通信机制,使得父进程不能有效地对子进程进行控制,同时子进程在完成对客户进程的服务后将自行终止,不能被重复利用。
2)服务器预先创建多个子进程,由子进程处理客户机请求,这种方式称为“预创建’。
基于“预创建”技术的服务器解决了客户进程等待的时延问题,但也存在以下问题:(1)务器端始终保持固定数量的子进程,这样即使没有客户进程的连接请求,系统中也将保持这些空闲的进程,造成对系统资源的浪费;(2)期民务器只是提供固定数量的子进程,如果客户连接请求数超过了子进程数,那么客户进程必须等待其它客户进程的服务终止,这可能造成更大的时延;(3如果某个子进程异常退出,服务器端可同时支持的客户进程连接数将减1,这将削弱服务器的并发处理能力。
为了克服上述问题,可采用动态“预创建”技术,即服务器父进程根据系统的资源状态或用户的请求数量创建一定数量的子进程,然后将其放到一个“池子”中,形成一个“进程池”。当有客户请求到达时,不是新创建一个进程为其服务,而是从“池子”中选择一个空闲的进程为其服务。服务完毕后,进程进入空闲状态。如果同时请求的客户数目比进程池中进程数目要大,系统可根据系统资源的状态,增加“池中”进程的数量,也可以将客户请求排队或简单的丢弃,这要视具体情况而定。采用这种技术,加快了服务器的响应时间,提高了资源的利用效率,有效地防止了由于客户请求过多而造成的服务器崩溃问题。
3)服务器用函数select实现对多个客户机连接的I/O多路复用;
除了可以采用多进程或多线程实现并发服务器之外,还可以采用I/O多路复用技术。通过该技术,系统内核缓冲I/O数据,当某些I/O准备好后,系统将通知应用程序该I/O可读或可写,这样应用程序可马上完成相应的I/O作,而不再等待系统完成相应I/O操作,从而应用程序不必因等待I/O操作而阻塞。
与多进程或多线程相比,I/O多路复用技术的最大优势是系统开销小,系统不必创建进程和线程,也不必维护这些进程和线程,从而大大减少了系统的开销。
4)超级服务器激活辅助服务器的策略。
这种模式的服务器需要多个服务器,其中一个服务器(超级服务器)在熟知的端口等待客户发来的请求。超级服务器一旦收到客户的请求,就立即激活一个从属服务器,并将该用户的请求转移到激活的从属服务器上。然后从属服务器与客户程序保持连接,完成对客户请求的处理,而超级服务器继续在原来端口监听客户的请求。
在这种服务器模型中,每个从属服务器仍然是一个并发服务器,因而系统的并发能力显著提高,但是,采用这种服务器模型需要增加服务器的数量,因而增加了系统的成本,通常用作一些访问量比较大的网络服务器。
服务器软件的定义如前面所述,服务器软件工作在客户端-服务器或浏览器-服务器的方式,有很多形式的服务器,常用的包括:
文件服务器- 如Novell的NetWare
数据库服务器- 如Oracle数据库服务器, MySQL, PostgreSQL, Microsoft SQL Server等
邮件服务器- Sendmail, Postfix, Qmail, Microsoft Exchange,Lotus Domino等
网页服务器 - 如Apache, thttpd, 微软的IIS等
FTP服务器- Pureftpd, Proftpd, WU-ftpd, Serv-U,VSFTP等
应用服务器- 如Bea公司的WebLogic,JBoss,Sun的GlassFish
代理服务器- 如Squid cache
计算机名称转换服务器 - 如微软的WINS服务器
服务器大都采用部件冗余技术、RAID技术、内存纠错技术和管理软件。高端的服务器采用多处理器、支持双cpu以上的对称处理器结构。在选择服务器硬件时,除了考虑档次和具体功能定位外,还需要重点了解服务器的主要参数和特性,包括处理器构架、可扩展性 、服务器结构、I/0能力和故障恢复能力等。可以按多种标准来划分服务器类型。
1. 根据应用层次或规模档次划分
● 入门级服务器:最低档服务器,主要用于办公室的文件和打印服务。
● 工作组级服务器:适于规模较小的网络,适用于为中小企业提供Web、邮件等服务。
● 部门级服务器:中档服务器,适合中型企业的数据中心、Web网站等应用。
● 企业级服务器:高档服务器,具有超强的数据处理能力,适合作为大型网络数据库服务器。
2. 根据服务器结构划分
● 台式服务器:也称为塔式服务器,这是最为传统的结构,具有较好的扩展性。
● 机架式服务器:机架式服务器安装在标准的19英寸机柜里面,根据高度有1U(1U=1.75英寸)、2U、4U和6U等规格。
● 刀片式服务器:是一种高可用、高密度的低成本服务器平台,专门为特殊应用行业和高密度计算机环境设计,每一块“刀片”实际上就是一块系统主板。
● 机柜式服务器:机箱是机柜式的,在服务器中需要安装许多模块组件。
3. 根据硬件类型划分
● 专用服务器:专门设计的高级服务器,采用专门的操作系统(如UNIX、MVS、VMS等),主要用于数据库服务和Internet业务,一般由专业公司提供全套软硬件系统及全程服务。
● PC服务器:以Intel或Motorola专用处理器为核心构成的服务器,兼容多种网络操作系统和网络应用软件,性能可达到中档RISC服务器水平。
有时,我们会看到不同于网络服务器的另一个概念Web服务器,这两种定义会引起混淆。前者是指用于网站的计算机,后者是指包括Apache这样的软件,运行在一台计算机上以管理网页组件和回应网页浏览器请求的程序。
(1)做好服务器系统备份,以备及时恢复。
(2)关闭不必要的服务端口,只开需要的端口。
(4)系统中安装软件防火墙,杀毒软件。
(5)开启日志服务检查黑客行踪。
(6)加密、认证安全技术的实施。
各大搜索引擎都在选择一些用户体验度比较好的网站做出比较好的排名,网站的PV值直接影响到网站的排名。那么,如果你选择的是这样的优质服务器租用商的的产品的话,每个访客在访问你的网站的时候速度都很快,自然PV值就会高。那么在你网站的体验自然就会好,如果每个访客都这样的话,慢慢地搜索引擎的友好度就会有所提升。那么自然给予比较好的权重。所以优质的网络寄存空间是客户体验度提升的基础。