设为首页 收藏本站
查看: 660|回复: 0

[经验分享] 修改Apache最大连接数/apache并发数

[复制链接]
累计签到:13 天
连续签到:1 天
发表于 2015-8-1 10:23:28 | 显示全部楼层 |阅读模式
  Apache优化步骤:
  1 先查看apache的运行模式,查看命令:httpd -l
  Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
  这里可以看到运行模式是prefork模式。
  2 修改apache 的httpd-mpm.conf 配置
  打开 /usr/local/apache2/conf/extra/httpd-mpm.conf ,每个机器可能httpd-mpm.conf 可能不同,这里可以通过find 命令查询。
  第一次打开的时候默认配置是这样的。
  
  StartServers 5
  MinSpareServers 5
  MaxSpareServers 10
  MaxClients 150
  MaxRequestsPerChild 0
  其中:
  StartServers 表示空闲子进程的最小数量。如果当前空闲子进程数小于MinSpareServers,那么Apache将以最大美妙一个的速度产生新的子进程。此参数不要设置太大。
  MinSpareServers 设 置空闲子进程的最大数量。如果当前有超过MaxSpareServers 数量的空闲子进程,那么父进程将杀死多余的子进程。此参数不要设置太大,如果你 讲质量设置比MinSpareServers小,Apache将会自动将其修改成“MinSpareServers + 1”。
  MaxSpareServers 限 定同一时间客户最大接入请求的数量(单个进程并发线程数)。任何超过MaxClients限制的请求讲进入等候队列,一旦一个连接被释放,队列中的请求将 得到服务。要增大该值必须同事增大ServerLimit(ServerLimit待会再讲)。
  MaxClients 表示每个子进程在其生存期内允许伺候的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为“0”,子进程将永远不会结束。
  MaxRequestsPerChild 设置为0 ,可以防止(偶然)内存泄漏无限进行,从而耗尽内存。给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
  3 现在看看需要怎么优化:
  连接数理论上是越大越好,但是得根据硬件,服务器的CPU,内存,带宽等因素,查看当前的apache连接数:
  ps aux | grep httpd | wc -l
  计算httpd 占用内存的平均数:
  ps aux | grep -v grep |awk '/httpd/{sum += $6;n++};END{print sum/n}'
  这个只是做个参考。计算后要减去服务器系统本身所需要的资源。
  比如内存2G,减去500M留给服务器,还有1.5G,那么可得到最大连接数:在8000左右。
  根据情况修改后的http-mpm.conf的prefork的配置后为:
  
  StartServers 5
  MinSpareServers 5
  MaxSpareServers 10
  ServerLimit 5500
  MaxClients 5000
  MaxRequestsPerChild 100
  这里重点介绍下ServerLimit,必须放到MaxClients前,值要大于MaxClients。
  4 重启apache,再打开网站看看是否还会有慢的问题了。
  
  
mysql优化,mysql默认连接数修改!!!
  
查看连接数方法,在phpmyadmin里的sql输入
show status like '%max%';
当前最大连接数
show variables like '%max%';
最大连接数
  
一.如果使用的是默认的my.cnf那就这样操作
vi /etc/my.cnf
[mysqld]
set-variable=max_connections=1000
set-variable=max_user_connections=500
set-variable=wait_timeout=200
//max_connections设置最大连接数为1000
//max_user_connections设置每用户最大连接数为500
//wait_timeout表示200秒后将关闭空闲(IDLE)的连接,但是对正在工作的连接不影响。
然后保存退出,重启mysql服务后查看连接数。
可以在phpmyadmin里的sql输入查询语句,或者输入/mysql安装路径/bin/mysqladmin -uroot -p variables "查看连接数"
max_connections这个就是最大连接数
二.如果各位大侠内存够大够猛的话(超过4G的话)可以这样操作
cp /usr/local/mysql/share/mysql/my-innodb-heavy-4G.cnf /etc/my.cnf
然后更改my.cnf里的max_connections = 100这个数值可以调高!!!
然后查看连接数更改情况
  
  
  ----------------------------------------------------------------------------------------
  修改apache的最大连接数,方法如下:
  步骤一
先修改 /path/apache/conf/httpd.conf文件。
# vi httpd.conf
将“#Include conf/extra/httpd-mpm.conf”前面的 “#” 去掉,保存。
  步骤二
再修改 /path/apache/conf/extra/httpd-mpm.conf文件。
# vi httpd-mpm.conf
找到 这一行
  原:
  StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
  修改后
  ServerLimit 1000
StartServers 10
MinSpareServers 5
MaxSpareServers 15
MaxClients 1000
MaxRequestsPerChild 0
  注意:
ServerLimit 该指令一定要放在第一行。
  修改后,一定不要apachectl restart,而是先 apachectl stop 然后再 apachectl start才可以。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-92931-1-1.html 上篇帖子: Apache Spark技术实战之2 下篇帖子: 2013最新版Subversion 1.7.10 for Windows x86 + Apache 2.4.4 x64 安装配置教程+错误解决方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表