之前使用windows的iis作为解释器,速度很慢,后来改用apache,速度上有了一定的提升,但是访问人数达到150左右,速度又明显变慢了,200以上就几乎打不开。但是查看任务管理器,cpu占有率一般在10%左右,2G的内存,用了不到1G,而带宽也未满,所以服务器的性能并没有发挥出来,但为什么会访问这么慢?
也怀疑是受到了在线人数的限制,但是也按照网上的资料修改了maxclients和serverlimit(均为1000),但未见效果。
目前httpd进程的内存大概为80兆,mysql-nt进程的内存大概为90兆。不过感觉mysql似乎应该占用更多内存,光是一个key_buffer_size就配置了256兆,query_cache_size配置了64兆。不知道是不起作用,还是在mysql-nt进程中不体现。
感觉以目前机器的配置,在线人数2、3百绝对不应该出现这样的问题,不知道是否有高手知道原因?
也怀疑是受到了在线人数的限制,但是也按照网上的资料修改了maxclients和serverlimit(均为1000),但未见效果。
目前httpd进程的内存大概为80兆,mysql-nt进程的内存大概为90兆。不过感觉mysql似乎应该占用更多内存,光是一个key_buffer_size就配置了256兆,query_cache_size配置了64兆。不知道是不起作用,还是在mysql-nt进程中不体现。
感觉以目前机器的配置,在线人数2、3百绝对不应该出现这样的问题,不知道是否有高手知道原因?
另外Apache配置一下达到多少连接就自动创建新的进程 不要用那个默认的0无限制
系统是windows server 2003
系统是windows server 2003 enterprise,这样就不需要设置了吧?
因为是远程操作,不能直接看到硬盘读取情况,是不是可以通过什么参数查询?
达到多少连接就自动创建新的进程,这个具体是哪个参数?
以下是配置片段
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 1000
MaxClients 1000
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_winnt_module>
ThreadsPerChild 1500
MaxRequestsPerChild 0
</IfModule>
这个配置节把?
ThreadsPerChild 15000
MaxRequestsPerChild 10000
</IfModule>