11 口CM白0垂MDom口胃断宁c口口 APACHE Http ServeR Project APACHECON 世地MH他加1加图 国 wonen the A he H w pmi Ras tanned al twere an p的he22钟以 Th Aohe TP se pot had rennes powo r 9s09e2211w0and o1, ae 解e2teha2234回ei抽a Myo ntr you 可南中医药大学/阮晓龙/13938213680/ht/ linuxxg nactcmeaucn/htp/w5 xuewen cn
12 口CM白0MD日om口宁O日c口口 APACHE Overview of new features in Apache Http Server 2.4 ooenwesatewoneutepaywonelnre22av.awnoemeAmeHTTPwewreeNawewn,otem2n)nrowre 经用spo Iate.at weDwe w tan22 学是 可南中医药大学/阮晓龙/13938213680/ht/ linuxxg nactcmeaucn/htp/w5 xuewen cn
13 2 Apache服务器 2 Apache工作原理 口 Apache处理模式: perfor 个单独的控制进程(父进程)负责产生子进程,子进程用于监听请求并 作出应答。 Apache试图保持一些备用的( spare)或是空闲子进程用于迎 接即将到来的请求,客户端不需要在得到服务前等候子进程的产生。 perfor下有 StartServers、 MinSpare Servers、 MaxSpareServers、 MaxRequestWorkers四个指令用于调节父进程如何产生子进程。 口通常情况下 Apache具有很强的自我调节能力,当需要处理的并发请求较高时 服务器可能就需要增加 MaxRequestWorkersl的值。 StartServers:初始的工作进程数。 MinSpareServers:空闲子进程的最小数量。 MaxSpare Servers:空闲子进程的最大数量。 MaxRequestWorkers:最大空闲线程数。 可南中医药大学/阮晓龙/13938213680/ht/ linuxxg nactcmeaucn/htp/w5 xuewen cn
14 2 Apache服务器 22 Apache工作原理 口 apache处理模式: worker worker模式相对于 perfor来说,使用了多进程和多线程混合的模式 ¤ Worker模式预先分了几个子进程(数量比较少),然后毎个子进程创建一些线 程,同时包括一个监听线程。每个请求过来,会被分配到一个线程来服务。因 为线程通常会共享父进程的内存空间,所以内存的占用会减少一些,线程处理 比起进程会更轻量。 a worker模式在高并发情况下,比 prefork有更多可用进程,表现会更优秀一些 a worke不完全使用多线程,引入多进程的原因是需要考虑稳定性,如果一个线 程出错,会导致父进程连同其它正常的子线程都出错,使用多个进程再加多个 线程,如果某个线程出现异常,受影响的只是 Apache的一部分服务,而不是整 个服务。 可南中医药大学/阮晓龙/13938213680/ht/ linuxxg nactcmeaucn/htp/w5 xuewen cn
15 2 Apache服务器 22 Apache工作原理 口 apache处理模式: event event和 worker模式很像,最大的区别在于它解决了keep-aive场景下,线 程长期被占用而造成的资源浪费问题,如某个线程因为被kep-aive空挂 着等待,长时间没有请求,甚至等到超期。 ■ event模式中,会有一个专门的线程来管理这些keep-aive类型的线程,当 有真实请求时,将请求传递给服务线程,执行完毕后,又允许它释放,这 样增强了高并发场景下的请求处理能力。 可南中医药大学/阮晓龙/13938213680/ht/ linuxxg nactcmeaucn/htp/w5 xuewen cn