选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。
从配置文件中还会发现两个配置参数:MaxKeepAliveRequests为一个连接允许的最大请求数,即在建立一个连接后,没有超时(KeepAliveTimeout参数)的时间内,允许最大的请求数,这个一般设置为0,即无限制,不过建议在安全性很好的网站,或者内网设置为0,如果安全性不是很好,很容易被攻击(短时间内并发无数个请求,直到耗尽内存)。
4.StartServers是服务器启动时,服务器初始化的子进程数
ThreadsPerChild是每个子进程可以建立的线程数
ServerLimit是服务器可以创建最多的子进程数
ThreadLimit是每个进程允许建立最多线程数
MaxClients是IHS可以并行承担的最大请求数
MinSpareThreads和MaxSpareThreads是一个进程所设置的空闲线程的范围,如果请求到来时,已经在这个范围内,IHS会一边提供空闲线程处理请求,一边新建新的进程和线程,即MinSpareThreads和MaxSpareThreads起到一个缓冲的作用,不会让请求到来时,线程突然已经用完,需要等待新的进程和线程的创建
MaxRequestsPerChild设置的是每个子进程可处理的最大请求数
2.3 参数配置
理解了上面的概念,就比较容易设置这些参数
1.MaxClients既然是IHS可以并行承担的最大请求数,那么就是配置参数的入口,假设系统平时并发的用户量一定,那么MaxClients的值就是该值
2.StartServers是服务器初始化的子进程数,ThreadsPerChild是每个进程可以建立的线程数,那么StartServers*ThreadsPerChild是服务器初始化时的总的线程数,这个值必须大于等于MaxClients,才能满足用户并发请求数
3. MaxClients必须是ThreadsPerChild的整数倍,否则IHS将会自动调节到一个相应值(可能是个非期望值)
4.如果keepAlive打开,为keepAlive on,那么一个用户连接服务器后的第一个请求便会占用一个服务线程,如果MaxClients个并发用户同时向服务器第一次发出请求,那么StartServers*ThreadsPerChild个线程是能够满足这些请求的,但是如果这些用户建立连接后,在KeepAliveTimeout范围内连续请求,那么就需要建立更多的子进