小古Blog
导致性能问题的常见情况
2011-12-25 小古

下面列出一些导致性能问题的常见情况.



区分性能问题的一个重要指标是CPU的利用率.



总结表格





























CPU利用率 \ 负载 正常
资源争用, 资源被线程长时间占有, 导致所有工作线程都处于等待状态, 导致CPU使用率低.
正常 都正常, 只是响应时间总比设计中的响应时间慢一点点, 那么很可能是在某一个细节上的优化不够. 如不代码中频繁地使用正则表达式,而正则表达式的效率又无法达到预期的效果, 整体性能就会下降. 这类问题很难解决, 往往需要通过分析log文件来确定到底哪一个细节比较慢. 一个有效的profiler程序往往能够起到事半功倍的效果.



都正常, 看dump发现工作线程都在等待数据库请求的返回, 那么检查数据库服务器的性能问题, 看是数据库太忙还是有数据库的死锁.
资源争用, 资源只被短时间拥有. 系统花费大量CPU时间进行线程切换和调度. 导致CPU使用率高, 且波动频繁 死循环或轮询. 解决办法是通过dump文件检查高CPU执行的是些什么代码, 是否总在一个循环体中无法结束 如果负载下降时, 性能随之恢复正常, 可以说明是负载超越了程序硬件系统的承受能力. 解决方法是升级硬件或添加负载均衡的服务器节点.


摘自<Windows用户态程序高效排错>


表格属总结类型的原创.

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容