apache和mysql连接性能优化

本文详细介绍了通过调整Apache配置文件来提高服务器性能,以及如何增加MySQL的最大连接数以防止因数据库限制导致的连接问题。通过合理配置,解决了网站访问人数过多造成的访问过慢现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、关于apache

1、首先,在页面访问变慢情况发生时,使用 top 命令查看了服务器的负载情况,发现负载并不高,初步估计不是程序的问题。
2、然后,查看了线程中的 httpd 的数量, ps -aux | grep httpd | wc -l 发现,线程数已经达到了 apache 设置的最大值。由此断定是网站访问人数过多造成了访问过慢。 

3、为了验证,查看了连接数和当前的连接数,分别是
    netstat -ant | grep $ip:80 | wc -l
    netstat -ant | grep $ip:80 | grep EST | wc -l
    发现果然,连接数特别多,远远超过我们的估计值。

开始修改:

apache配置文件:httpd.conf

默认配置如下:

<IfModule mpm_prefork_module>
    StartServers          5                  起始进程数
    MinSpareServers       5                  最小空闲进程数(等待)
    MaxSpareServers       10                 最大等待进程数
    ServerLimit           256              允许最大连接数上线
    MaxClients            150              可同时处理的最大请求数
    MaxRequestsPerChild   0              每个子进程能够处理的最大请求数,0为无限
</IfModule>

更改配置如下:

<IfModule mpm_prefork_module>
    StartServers          10
    MinSpareServers       10
    MaxSpareServers       15
    ServerLimit           2000
    MaxClients            1500
    MaxRequestsPerChild   10000
</IfModule>

 此更改后,web服务器性能会大大提高,LR测试时,就不会老出现server has shutdown the connecttions或者connect timeout之类的错误了,剩下的就是程序代码优化的问题了

二、关于mysql

另外,数据库比如mysql之类的,还有一个max_connections之类的配置,一般需要打开,使得不会因为数据库的限制导致连接数上不来

MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MYSQL连接数的方法有两个

方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100   修改为 max_connections=1000 服务里重起MYSQL即可

方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppassword

设置新的最大连接数为200:mysql> set GLOBAL max_connections=200

显示当前运行的Query:mysql> show processlist

显示当前状态:mysql> show status

退出客户端:mysql> exit

查看当前最大连接数:mysqladmin -uusername -ppassword variables

ps:增加mysql的连接数对系统消耗其实影响不大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值