zoukankan      html  css  js  c++  java
  • centos linux服务器apache+mysql环境访问慢优化方法

    查找软件安装目录:find / -name 软件名称

    一、优化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配置优化详解,点这里

    https://blog.csdn.net/OrochiHuang/article/details/8500579

    二、优化mysql最大连接数

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

    show variables like '%max_connections%';

    2.默认一般是151。修改数据库最大连接数,最大限制上限为16384。
    找到数据库配置文件my.cnf,在配置里将max_connections的值(若没有就新增)改为你想要的连接数量,例如:
    max_connections=16000
    3.重启服务器数据库配置并在此查询最大连接数
    show variables like '%max_connections%';

  • 相关阅读:
    CentOS下使用Jexus部署.NetFramework站点 (二)
    CentOS下使用Jexus部署.NetFramework站点 (一)
    RDLC报表纵向合并单元格。
    Access to the path '' is denied.解决方案
    7_文件上传.md
    python接口自动化unittest+HTMLrunner
    pytest命令行执行
    python+requests接口自动化测试框架实例详解教程123
    python+requests接口自动化测试框架实例详解教程
    python进行接口请求,第一个接口返回的数据作为第二个参数的入参
  • 原文地址:https://www.cnblogs.com/zgzy/p/12240807.html
Copyright © 2011-2022 走看看