我有一个Django应用程序,它可以在低负载下运行并且响应很好,但是在100个用户/秒的高负载下,它会消耗100%的CPU,然后由于CPU的速度不足而减慢。
问题:
那么,如何找到一段代码消耗的CPU周期?
由于降低CPU消耗会增加响应时间。
OR
更多信息
ujson
进行json解析。很想知道:
答案 0 :(得分:2)
您可以尝试将测试配置为缓慢上升,缓慢上升,以便您可以看到CPU逐渐增加,然后在达到高CPU之前运行探查器。当CPU被最大化时尝试分析代码是没有意义的,因为此时一切都会很慢。实际上,您实际上只需要相对较轻的负载即可从分析器获取有用的数据。
此外,通过逐渐增加负载,您将能够更好地查看CPU是否逐渐增加(表明CPU瓶颈)或CPU是否突然跳跃(表明可能存在其他类型的问题,不一定会被更多的CPU解决。)
尝试使用Cosntant吞吐量计时器来调整请求,这样可以防止JMeter被带走并过度加载系统。
答案 1 :(得分:0)
结帐New Relic了解一些非常好的分析,他们有特定于django的日志记录。