
非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务.
处理方法: set global innodb_thread_concurrency=16
第二: 对于连接数已经超过600或是更多的情况,可以考虑适当的限制一下连接数,让前端报一下错,也别让DB挂了.
DB在了,总是可以用来加载一下数据,当数据加载到了nosql里了,慢慢的DB压力也会降下来的.
这种事需要你提供一个运行测试的报告,一切就解决了。
在用户反应慢的时候,给一份全天运行的硬件负载其实已经很够了,用户看不懂报告的话,派一个人去解释说明每一项都可能影响哪些软件性能,同时你要反过来给用户建议,让软件开发商提供完美运行的配置需求,此外建议建议用户使用一些性能测试工具去压软件测试负载情况。
运行反应慢有很多可能,cpu,内存,带宽的负载都很低的时候,软件方面的问题还可能是:连接请求失败太多、数据库查询太慢或者程序处理太慢,看给出的配置,应该是windows系统,找一个性能测试方面的人,简单配置一下系统的监控项目,出一个运行报告,在运行的时候监控报告应该给出这些指标:
硬件方面
内存使用数
cpu占用率
硬盘读写速度
网络带宽负载
网络请求封包数
软件方面
web 请求数量
web并发连接数量
web 请求成功与失败比率
web 请求平均响应时间
数据库请求 *** 作数
数据库并发连接数
数据库缓存命中率
数据库 *** 作响应时间
数据库进程负载情况
web server (IIS、Apache、Nginx)进程负载情况
有了这些指标你才能给用户足够的说服力证明在软件负载很大的时候,硬件资源占用还是很低。其中最重要的指标应该是数据库 *** 作响应时间和web平均响应时间,这两个如果在硬件负载不高的时候很慢,绝对就是软件方面原因,至于具体原因要看颗粒度更细的测试报告才能清楚,不过那应该属于软件开发商的事情了。
可以出这种报告的软件很多,系统自带的performent monitor ,LoadRunner,WebLoad,JMeter,MSACT。找一个熟悉性能测试的人出个方案即可,涉及到这些复杂系统应用的事情,上线前没有做过任何可用性/性能测试吗。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)