Добрый день, Коллеги.
помогите с решение проблемы (возможно даже 2х: ))) )
nginx сыпет ошибку, правда не всегда, а раз в 2-5 минут
tail -f /var/log/nginx/error.log
2015/03/29 12:15:28 [error] 22735#0: *219816 upstream prematurely closed connection while reading response header from upstream, client: 213.ххх.ххх.180, server: ххх, request: "POST /?uuid=a_4526e8e2-e0ac-426e-ac95-7a0c8ac37cc1 HTTP/1.1", upstream: "uwsgi://unix:///home/uwsgi-home/parsecdr/uwsgi.sock:", host: ххх
в логи uwsgi обычно тихо и спокойно, но иногда выходит ошибка
Traceback (most recent call last):
File "/home/uwsgi-home/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
response = self.get_response(request)
File "/home/uwsgi-home/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 199, in get_response
response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
File "/home/uwsgi-home/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 236, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/home/uwsgi-home/local/lib/python2.7/site-packages/django/views/debug.py", line 91, in technical_500_response
html = reporter.get_traceback_html()
File "/home/uwsgi-home/local/lib/python2.7/site-packages/django/views/debug.py", line 350, in get_traceback_html
return t.render(c)
File "/home/uwsgi-home/local/lib/python2.7/site-packages/django/template/base.py", line 148, in render
return self._render(context)
File "/home/uwsgi-home/local/lib/python2.7/site-packages/django/template/base.py", line 142, in _render
return self.nodelist.render(context)
File "/home/uwsgi-home/local/lib/python2.7/site-packages/django/template/base.py", line 848, in render
return mark_safe(''.join(bits))
MemoryError
Эта ошибка бывает совпадает с ошибкой nginx а бывает и нет (вероятно это разные проблемы)
Код - парсер xml. файлы мательние по 20-40 Кб
в проекте всего одна мательнкая вьюха и один урл.
Скорее всего накосячил в кофигах nginx или uwsgi
Прошу посмотреть и подсказать. Собственно конфиги:
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /home/uwsgi-home/parsecdr/
# Django's wsgi file
module = parsecdr.wsgi
module = parsecdr.wsgi:application
module = django.core.wsgi:get_wsgi_application()
plugins = python
# the virtualenv (full path)
home = /home/uwsgi-home
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 10
limit-as = 192
max-requests = 5000
harakiri = 120
buffer-size = 49152
# the socket (use the full path to be safe
socket = /home/uwsgi-home/parsecdr/uwsgi.sock
# ... with appropriate permissions - may be needed
#chmod-socket = 666
# clear environment on exit
vacuum = true
touch-reload = /home/uwsgi-home/parsecdr/touch-reload
daemonize = /var/log/uwsgi/parsecdr.log
и nginx
upstream parsecdr {
server unix:///home/uwsgi-home/parsecdr/uwsgi.sock; # for a file socket
}
server {
listen 80;
server_name parsecdr.rt.ru;
charset utf-8;
large_client_header_buffers 8 48k;
client_max_body_size 50M;
keepalive_timeout 75s;
proxy_connect_timeout 60s;
proxy_read_timeout 60s;
location / {
proxy_connect_timeout 300s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_buffer_size 64k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
uwsgi_pass parsecdr;
include /home/uwsgi-home/parsecdr/uwsgi.params;
}
}
Повторюсь, ошибка появляется периодические.
Если грубо - то на каждые 50-60 записей одна ошибка
Причем повторные тест может пройти без ошибок