服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - 网络服务器是什么东西?

网络服务器是什么东西?

2022-09-02 16:02服务器之家 服务器知识

网络服务器是计算机局域网的核心部件。网络操作系统是在网络服务器上运行的,网络服务器的效率直接影响整个网络的效率。因此,一般要用高档计算机或专用服务器计算机作为网络服务器。

网络服务器是什么东西?

网络服务器是什么东西?

网络服务器是计算机局域网的核心部件。网络操作系统是在网络服务器上运行的,网络服务器的效率直接影响整个网络的效率。因此,一般要用高档计算机或专用服务器计算机作为网络服务器。网络服务器主要有以下4个作用:

运行网络操作系统,控制和协调网络中各计算机之间的工作,最大限度地满足用户的要求,并做出响应和处理。

存储和管理网络中的共享资源,如数据库、文件、应用程序、磁盘空间、打印机、绘图仪等。

为各工作站的应用程序服务,如采用客户/服务器(Client/Server)结构使网络服务器不仅担当网络服务器,而且还担当应用程序服务器。

对网络活动进行监督及控制,对网络进行实际管理,分配系统资源,了解和调整系统运行状态,关闭/启动某些资源等。

网络服务器是什么东西?

网络服务器工作方式

在标准的C/S模式计算机网络中,网络服务器[2]可在两种不同的方式下工作:循环方式(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)超级服务器激活辅助服务器的策略。

这种模式的服务器需要多个服务器,其中一个服务器(超级服务器)在熟知的端口等待客户发来的请求。超级服务器一旦收到客户的请求,就立即激活一个从属服务器,并将该用户的请求转移到激活的从属服务器上。然后从属服务器与客户程序保持连接,完成对客户请求的处理,而超级服务器继续在原来端口监听客户的请求。

在这种服务器模型中,每个从属服务器仍然是一个并发服务器,因而系统的并发能力显著提高,但是,采用这种服务器模型需要增加服务器的数量,因而增加了系统的成本,通常用作一些访问量比较大的网络服务器。

延伸 · 阅读

精彩推荐