Медленное время отклика API с помощью Django Apache и Elastic Beanstalk - PullRequest
0 голосов
/ 28 мая 2018

У меня POST API в django, и я установил APM новой Relic для приложения.Время, затраченное django на обработку запроса, составляет около 250 мс, но время ответа (измеряется почтальоном) составляет около 2,5 секунд.

Моя архитектура настроена на AWS Elastic Beanstalk.

  1. В качестве веб-интерфейса используется балансировщик нагрузки (с SSL)

  2. Экземпляр linux работает под управлением Apache вместе с приложением Django через WSGI

Время ответа последовательных запросов варьируется от 2,5 секунд до 600 мс.Как я могу определить проблему и сократить время ответа до 500 мс

Вот мой wsgi.conf для http.d

LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonHome /opt/python/run/baselinenv
WSGISocketPrefix run/wsgi
WSGIRestrictEmbedded On

<VirtualHost *:80>

Alias /static/ /opt/python/current/app/static/
<Directory /opt/python/current/app/static/>
Order allow,deny
Allow from all
</Directory>


WSGIScriptAlias / /opt/python/current/app/test_proj/wsgi.py
WSGIPassAuthorization On
WSGIPassAuthorization On
WSGIPassAuthorization On


<Directory /opt/python/current/app/>
  Require all granted
</Directory>

WSGIDaemonProcess wsgi processes=1 threads=15 display-name=%{GROUP} \
  python-home=/opt/python/run/venv/ \
  python-path=/opt/python/current/app:/opt/python/run/venv/lib64/python3.6/site-packages:/opt/python/run/venv/lib/python3.6/site-packages user=wsgi group=wsgi \
  home=/opt/python/current/app
WSGIProcessGroup wsgi
</VirtualHost>

LogFormat "%h (%{X-Forwarded-For}i) %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

New Relic Stats

Postman Response times

...