欢迎您来到,李雷博客 | PHP博客        登录  |  注册

Windows下对Apache和Mysql数据库性能优化的配置记录

更新:2018-09-27 14:13:34
人气:7466
来源:本站原创
A+

Windows下Apache性能优化配置(Httpd.conf)

开启模块:(仅在需监控服务器性能时开启)

LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so

______________________________________________________________________

启用关联引用文件:

#Include conf/extra/httpd-mpm.conf(重要)
<IfModule mpm_winnt_module>
    ThreadsPerChild      1920  #可能会受限制 1920
    MaxRequestsPerChild    10000
</IfModule>

______________________________________________________________________

#Include conf/extra/httpd-default.conf(重要)

Timeout 20

该参数为连接超时,缺省的300秒显然太大,缩小该参数就会减少同时连接数,即用户实际占用的线程数,这样就可以起到配合上面ThreadsPerChlid参数的作用。

KeepAlive On

该参数为是否保持活连接,目前网站中一个页面一般会包含多个文件,所以相应用户访问时会有多个请求,因此开启可以提高服务器性能。

MaxKeepAliveRequests 50

该参数为最大的活连接请求数,可以根据网页实际包含的文件数目自行调节。

KeepAliveTimeout 5

该参数为活连接的超时时间,一般只要设置成小于Timeout即可。

______________________________________________________________________

#Include conf/extra/httpd-info.conf(仅在需监控服务器性能时开启)
<location /server-status>
         SetHandler server-status          
         Order Deny,Allow
         Deny from all
         Allow from 10.64.201.251
</location>
ExtendedStatus On

配置完成,重新启动apache(注意,不能直接restart,而要先stop,再start)

可以用http://IP地址/server-status?refresh=N将表示访问状态页面可以每N秒自动刷新一次;(http://IP地址/server-info)

Deny from表示禁止的访问地址;

Allow from表示允许的地址访问;

ExtendedStatus On 表示的是待会访问的时候能看到详细的请求信息,另外该设置仅能用于全局设置,不能在特定的虚拟主机中打开或关闭。启用扩展状态信息将会导致服务器运行效率降低。


windows下mysql性能优化配置(my.ini)

max_connections=10000  //可能会受限1910
table_cache=512         //可能会受限 69

mysql> show variables like '%max_connections%'; 

1.jpg

mysql> show variables like '%table_cache%';

2.jpg

mysql> show global status like 'open%tables%';

3.jpg

Open_tables表示打开表的数量,Opened_tables表示打开过的表数量。如果Opened_tables数量过大,说明配置中table_cache值可能太小(5.1.3之后这个值叫做table_open_cache) 


推荐的文章
# 发表我的评论
  /     /  
# 最近评论

再补充一下:

Open_tables:表示当前正在打开的表数目。
Opened_tables:表示累计所有已经打开的表数目。

如果Open_tables的值已经接近table_cache的值,且Opened_tables还在不断变大,则说明mysql正在将缓存的表释放以容纳新的表,此时可能需要加大table_cache的值。


比较适合的值(我对这个不太理解,先记录一下):

Open_tables / Opened_tables >= 0.85
Open_tables / table_cache <= 0.95


清空缓存

mysql > flush tables;

Apache中MaxRequestsPerChild参数是做什么用的?配置时应该注意什么?

通常在“Windows任务管理器-进程”中可以看到两个apache.exe进程,一个是父进程、一个是子进程,父进程接到访问请求 后,将请求交由子进程处理。MaxRequestsPerChild这个指令设定一个独立的子进程将能处理的请求数量。

在处理 “MaxRequestsPerChild 数字”个请求之后,子进程将会被父进程终止,这时候子进程占用的内存就会释放,如果再有访问请求,父进程会重新产生子进程进行处理。

如果 MaxRequestsPerChild缺省设为0(无限)或较大的数字(例如10000以上)可以使每个子进程处理更多的请求,不会因为不断终止、启动 子进程降低访问效率,但MaxRequestsPerChild设置为0时,如果占用了200~300M内存,即使负载下来时占用的内存也不会减少。内存 较大的服务器可以设置为0或较大的数字。内存较小的服务器不妨设置成30、50、100,以防内存溢出。


<IfModule mpm_winnt_module>

    ThreadLimit 3200

    ThreadsPerChild      3200

    MaxRequestsPerChild    10000

</IfModule>

ab -n1000 -c10 http://examnew.abc.do/exam/

  Ads by Google
  联系博主
Hello,本博客系统采用PHP和MySql开发,程序开发完全是因为个人爱好,是自己纯手写PHP源代码,未采用任何PHP框架!
QQ:858353007   微信号:lileihot123
网站地图
会员服务
关于我们
QQ:858353007
 
广告服务
加我微信
移动端访问
 
 
Copyright © 2014- 2024 www.mdaima.com All Rights Reserved.
李雷博客,专注PHP经验、PHP教程及PHP源代码开源下载分享的PHP博客!   ICP备案号:京ICP备10202169号-4