ubuntu – 如何调试为什么我的服务器在每个请求nginx/unicorn上
我正在尝试调试为什么我的服务器在每个请求上有3秒的延迟. 这些是我的nginx和unicorn配置文件:https://gist.github.com/regedarek/de7f2e5cd1918b6224ac 我的服务器信息:
这是从tcpdump -qtln端口80输出的 – > https://gist.github.com/c21d3a38e1d75fb2c4f1 最佳答案
为了调试这个,我会系统地隔离每个组件以找到瓶颈.在任何时候我都会关闭任何日志文件,包括nginx访问/错误日志和rails日志以查找错误.
第一个问题是,它只是生产缓慢,还是处于开发模式?答案将通过关注环境之间的不同来帮助您进行诊断. 以独立模式启动独角兽进程并在端口8080上连接,消除nginx.它还慢吗?如果是,那就是铁路或独角兽问题.我怀疑nginx是否存在问题,因为静态资产在您的网站上提供的速度相对较快. 在Webrick中测试应用程序以消除Unicorn.如果它仍然很慢,请开始挖掘您的rails应用程序. 我用telnet ck.uci.agh.edu.pl 80测试了你的网站,做了一个GET http://ck.uci.agh.edu.pl/,在打印任何文本之前有延迟.这消除了浏览器中的任何javascript或资产加载问题. 尝试的东西: >通过模型查找在rails控制台中测试应用程序的隔离组件.逐个浏览显示主页面的每个组件,直到找到延迟.尝试运行在索引控制器操作中执行的代码,以及页面在解析时执行的任何操作.您正在寻找数据库问题,从连接到外部服务的延迟等. 希望这可以帮助.祝好运! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |