ubuntu – 分析uwsgi strace日志以找出为什么它需要高CPU使用率
发布时间:2020-12-13 21:14:34 所属栏目:Nginx 来源:网络整理
导读:我通过uwsgi运行一个带nginx的django站点.问题是当流量变大时,uwsgi进程会占用大量的CPU时间.相同的配置在测试服务器上工作正常,而siege / ab模拟大量并发流量. 这是uwsgi进程的一个strace日志. http://dl.dropbox.com/u/43017476/strace.log 还有一些sysctl
我通过uwsgi运行一个带nginx的django站点.问题是当流量变大时,uwsgi进程会占用大量的CPU时间.相同的配置在测试服务器上工作正常,而siege / ab模拟大量并发流量. 这是uwsgi进程的一个strace日志. http://dl.dropbox.com/u/43017476/strace.log 还有一些sysctl:
nginx conf与Google的其他教程非常相似.我一直想弄清楚但没有运气.但是我发现了很多这样的东西:
而文件描述符8是一个mysql套接字.但Mysql服务器似乎工作得很好.我可以看到每个“读取”系统调用消耗大部分CPU时间,但不知道这里出了什么问题.同一个数据库服务器一直在为以前的PHP站点提供服务. 任何想法都赞赏. 最佳答案
strace可能不会显示消耗CPU时间的内容,因为它显示系统调用.显示进程消耗的CPU时间是在应用程序本身中执行代码所花费的时间.您正在显示的读/写/轮询很可能是正常的MySQL通信,或者是应用程序轮询mysql FD(非阻塞)以查找新流量.
对于如何找到高CPU的原因,我真的没有一个解决方案,但我想我会指出你花费太多时间在strace输出中寻找答案:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |