更新 - 已解决
问题原来是服务器有一个挂载指向本周早些时候退休的文件服务器;毕竟与django / mod-python / etc无关。更新挂载解决了这个问题。
非常感谢您的评论&帮助,并为一个疯狂的追逐道歉......我将在任何情况下考虑升级mod-python: - )
摘要
我正在维护一个Django webapp,它在几天前工作正常,但现在所有的Web请求都会挂起很久。我不知道有什么变化,所以这个问题可能很简单。
我尝试重新启动网络服务器,然后重新启动httpd。 'top'显示服务器正在处理CPU和内存。
有人可以建议其他可能出错的简单事物或其他需要检查的事情吗?
更多详情
我没有创建Web服务器,所以不幸的是我不完全确定完整的细节,或者在哪里查找所有日志等。我知道Web服务器由以下组件组成:使用Django实现;在Linux服务器上运行;使用PostgreSQL数据库; lighttpd用于静态内容; Apache处理传入的HTTP请求并通过mod_python将它们传递给Django;使用memcached缓存渲染页面。我确实可以完全访问Linux服务器和数据库,所以如果我知道在哪里查看,我们可以愉快地浏览。
每当我发出新请求时,/ var / log / httpd / access_log和error_log都会显示如下行。我不知道mod_python行是否表示错误(当我用googled这个日志时没有明显的事实)。
的access_log:
127.0.0.1 - - [13/Jan/2011:10:56:11 +0000] "GET /testruns/testrun2176/ HTTP/1.0" 301 - "http://myapp/testruns/" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729; .NET4.0E)"
error_log中:
[Thu Jan 13 10:34:19 2011] [notice] mod_python: (Re)importing module 'django.core.handlers.modpython'
正在运行的开发服务器的输出
# python manage.py runserver 0.0.0.0:8088
Validating models...
0 errors found
Django version 1.0-final-SVN-unknown, using settings 'myapp.settings'
Development server is running at http://0.0.0.0:8088/
Quit the server with CONTROL-C.
[13/Jan/2011 14:23:31] "GET /testruns/testrun2176/ HTTP/1.1" 301 0
然后没有任何反应。网页刚加载。
我可以加载其中一个稍微简单的页面。通过开发版本,图片不会加载,但它没关系。简单页面位于/ testruns / - 虽然由于某种原因我在runserver输出中看不到该页面:
# python manage.py runserver 0.0.0.0:8088
Validating models...
0 errors found
Django version 1.0-final-SVN-unknown, using settings 'myapp.settings'
Development server is running at http://0.0.0.0:8088/
Quit the server with CONTROL-C.
[13/Jan/2011 14:27:42] "GET /static/myapp.css HTTP/1.1" 404 1113
[13/Jan/2011 14:27:42] "GET /static/myapp_print.css HTTP/1.1" 404 1113
[13/Jan/2011 14:27:42] "GET /static/myapp_ticks_crosses.css HTTP/1.1" 404 1113
我应该再次指出,这几天前一切正常。从那以后我没有明确地改变任何东西 - 我突然发现所需的页面不会加载,我试图找出原因。
/ var / log / httpd / log文件似乎没有显示出特别有趣的内容,我不确定我还应该注意什么。
我们正在运行第二台服务器,该服务器可以处理不同的测试结果集。在其上运行开发服务器显示预期301重定向(... / testrunX /重定向到... / testrunX / broken / page1 /)。
// This trace, on a different server but with a similar setup, shows that the
// 301 redirect is expected, and is not the source of the problem
[server2]# python manage.py runserver 0.0.0.0:8088
Validating models...
0 errors found
Django version 1.0-final-SVN-unknown, using settings 'myapp.settings'
Development server is running at http://0.0.0.0:8088/
Quit the server with CONTROL-C.
[13/Jan/2011 14:47:59] "GET /testruns HTTP/1.1" 301 0
[13/Jan/2011 14:47:59] "GET /testruns/ HTTP/1.1" 200 11568
[13/Jan/2011 14:47:59] "GET /static/myapp.css HTTP/1.1" 404 1131
[13/Jan/2011 14:47:59] "GET /static/myapp_print.css HTTP/1.1" 404 1131
[13/Jan/2011 14:47:59] "GET /static/star.png HTTP/1.1" 404 1131
[13/Jan/2011 14:47:59] "GET /static/myapp_ticks_crosses.css HTTP/1.1" 404 1131
[13/Jan/2011 14:47:59] "GET /static/star.png HTTP/1.1" 404 1131
[13/Jan/2011 14:48:02] "GET /static/star.png HTTP/1.1" 404 1131
[13/Jan/2011 14:48:12] "GET /testruns/testrun1879/ HTTP/1.1" 301 0
[13/Jan/2011 14:48:12] "GET /testruns/testrun1879/broken/page1/ HTTP/1.1" 200 309477
[13/Jan/2011 14:48:12] "GET /static/myapp.css HTTP/1.1" 404 1131
[13/Jan/2011 14:48:12] "GET /static/myapp_print.css HTTP/1.1" 404 1131
[13/Jan/2011 14:48:13] "GET /static/myapp_ticks_crosses.css HTTP/1.1" 404 1131
所以我认为没有无限循环。由于某种原因,请求/数据库查询/其他东西花费的时间太长或完全卡住了。
memcached信息
坏服务器上的memcached似乎很空。但是,如果Web请求失败,可能会出现这种情况,即没有返回任何内容存储在缓存中(缓存到期时间为12小时)。糟糕的服务器:
// Top - only using 6K memory (VIRT)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30743 nobody 15 0 6640 4972 476 S 0.0 1.9 0:00.01 memcached
// memcache-top from http://code.google.com/p/memcache-top/
// only using 0.2% available space
memcache-top v0.6 (default port: 11211, color: on, refresh: 3 seconds)
INSTANCE USAGE HIT % CONN TIME EVICT/s READ/s WRITE/s
127.0.0.1:11211 0.2% 0.0% 5 0.8ms 0.0 2 161
AVERAGE: 0.2% 0.0% 5 0.8ms 0.0 2 161
TOTAL: 111.0KB/ 64.0MB 5 0.8ms 0.0 2 161
好的服务器:
// Top - using ~68K memory (VIRT)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2503 nobody 15 0 67900 8256 396 S 0.0 3.2 0:01.68 memcached
// memcache-top - using 63% space
memcache-top v0.6 (default port: 11211, color: on, refresh: 3 seconds)
INSTANCE USAGE HIT % CONN TIME EVICT/s READ/s WRITE/s
127.0.0.1:11211 63.2% 0.0% 3 1.2ms 0.0 0 0
AVERAGE: 63.2% 0.0% 3 1.2ms 0.0 0 0
TOTAL: 40.5MB/ 64.0MB 3 1.2ms 0.0 0 0
答案 0 :(得分:3)
仅提一点: