apache与mysql访问慢_centos linux服务器apache+mysql环境访问慢优化方法

一、优化apache配置增加MaxClients的值

默认情况下,2.0及以上apache版本MaxClients的值为256,对于中大型应用访问是远远不够的。

在Apache2.0中,可以通过在httpd.conf配置的perfork代码段内修改ServerLimit和MaxClients参数来突破256的限制,此时必须MaxClients ≤ ServerLimit ≤ 20000

设置完之后大致是这样的:

ServerLimit 1000

StartServers 30

MinSpareServers 30

MaxSpareServers 45

MaxClients 1000

MaxRequestsPerChild 4000

==============================

附常用的查看进程数量命令:

1、查看apache当前并发访问数:

netstat -an | grep ESTABLISHED | wc -l

对比httpd.conf中MaxClients的数字差距多少。

2、查看有多少个进程数:

ps aux|grep httpd|wc -l

3、可以使用如下参数查看数据

server-status?auto

#ps -ef|grep httpd|wc -l

1388

统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。

表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整。

#netstat -nat|grep -i "80"|wc -l

4341

netstat -an会打印系统当前网络链接状态,而grep -i "80"是用来提取与80端口有关的连接的,wc -l进行连接数统计。

最终返回的数字就是当前所有80端口的请求总数。

#netstat -na|grep ESTABLISHED|wc -l

376

netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。

最终返回的数字就是当前所有80端口的已建立连接的总数。

netstat -nat||grep ESTABLISHED|wc - 可查看所有建立连接的详细记录

查看Apache的并发请求数及其TCP连接状态:

Linux命令:

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘

(这条语句非常不错)返回结果示例:

LAST_ACK 5

SYN_RECV 30

ESTABLISHED 1597

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057

其中的

SYN_RECV表示正在等待处理的请求数;

ESTABLISHED表示正常数据传输状态;

TIME_WAIT表示处理完毕,等待超时结束的请求数。

关于apache配置优化详解,点这里

二、优化mysql最大连接数

1、查看应用所用到的mysql最大连接数多少

show variables like ‘%max_connections%‘;

2.默认一般是151。修改数据库最大连接数,最大限制上限为16384。

找到数据库配置文件my.cnf,在配置里将max_connections的值(若没有就新增)改为你想要的连接数量,例如:

max_connections=16000

3.重启服务器数据库配置并在此查询最大连接数

show variables like ‘%max_connections%‘;

原文:https://www.cnblogs.com/zgzy/p/12240807.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值