我们的系统是PHP+mysql(5.1.38)+memcache, 对数据的读取使用了memcache进行了缓存。
但是写入没有经过缓存,是同时向memcache和mysql写入一份。昨天进行了压力测试(每2秒内1万并行访问),跑了10分钟左右,mysql的服务器CPU占用10%以内,我查看mysql最大连接数133,没有产生慢查询,测试用的表只有600多条数据,有20多个字段但是,我修改了mysql配置,配置的最大连接数是2000。在压力测试期间,我手动连接,会产生连接mysql失败的报错。我的问题是:
  怎么调整才能够让mysql(接近)满负荷运行?
或者说:
  什么原因可能导致mysql能频繁产生连接失败最大连接数却上不去?谢谢

解决方案 »

  1.   

    1 报什么错
    2 show  variables like '%conn%'确定
    3 是否有足够的内存来分配给你每个连接
      

  2.   

    在压力测试期间,我手动连接,会产生连接mysql失败的报错。
    提示什么错误?
      

  3.   

    不好意思,太忙了,昨天没看帖子。回复1楼:
    1 报什么错: 具体错误给忘了,不过是连接失败的错误
    2 show variables like '%conn%'确定: 
    show variables like '%conn%';
    max_connections          | 2000
    show global status like '%conn%';
    Max_used_connections     | 135
    3 是否有足够的内存来分配给你每个连接
    内存是足够的,在压力测试期间,监控内存没有压力.回复2楼:
    内存是4G的,mysql独享,在压力测试期间mysql服务器内存没有上去。回复3楼:
    具体错误我忘了(),是连接mysql失败的错误。
      

  4.   

    1) 看看 mysql 那个日志是否有什么其他提示呢?
    2) 压力情况下竟然不使用内存是一个不太正常表现.