0

Apache优化

Posted by Alan on March 24, 2015 in Linux |

如果要查看当前网站的连接数,可执行命令: 表示当前链接为27个。 如果这个值大于Apache的配置文件httpd.conf 文件中MaxClients 的值,那么新的连接将会排队等候,这样就造成了访问慢的缘故,因此需要修改MaxClients的值。如果实时检查httpd的连接数则执行: 计算httpd占用内存的平均数: 第六个字段为RSS,表示的是实际物理内存,第五个字段为VSZ ,表示的是虚拟内存 查看TCP的链接情况: 如果有大量SYN_RECV则有可能在遭受DDOS攻击。 服务器的优化 (MPM: Multi-Processing Modules) apache2主要的优势就是对多处理器的支持更好,在编译时同过使用–with-mpm选项来决定apache2的工作模式。如果知道当前的apache2使用什么工作机制,可以通过httpd -l命令列出apache的所有模块,就可以知道其工作方式: prefork: 如果httpd -l列出prefork.c,则需要对下面的段进行配置: StartServers 5 #启动apache时启动的httpd进程个数。 MinSpareServers 5 #服务器保持的最小空闲进程数。 MaxSpareServers 10 #服务器保持的最大空闲进程数。 MaxClients 150 #最大并发连接数。 MaxRequestsPerChild 1000 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。 在该工作模式下,服务器启动后起动5个httpd进程(加父进程共6个,通过ps -ax|grep httpd命令可以看到)。当有用户连接时,apache会使用一个空闲进程为该连接服务,同时父进程会fork一个子进程。直到内存中的空闲进程达到MaxSpareServers。该模式是为了兼容一些旧版本的程序。我缺省编译时的选项。 worker: 如果httpd -l列出worker.c,则需要对下面的段进行配置: StartServers 2 #启动apache时启动的httpd进程个数。 MaxClients 150 #最大并发连接数。 MinSpareThreads 25 #服务器保持的最小空闲线程数。 MaxSpareThreads 75 #服务器保持的最大空闲线程数。 ThreadsPerChild 25 #每个子进程的产生的线程数。 […]

Tags: , ,

Copyright © 2012-2018 记录点滴生活 | Alan Hou的个人博客 All rights reserved.