У меня есть только один экземпляр бесплатного уровня Amazon EC2. На нем размещены два сайта Django, которые в настоящее время почти не получают трафика, всего несколько запросов в день. Сервер - это apache с mod_wsgi, а apache настроен с помощью WSGIDaemonProcess, например
WSGIDaemonProcess mysite.com processes=4 threads=4 display-name=%{GROUP} user=djangoUser group=djangoUser python-path=/srv/mysite:/srv/mysite/venv/lib/python2.7/site-packages
WSGIProcessGroup mysite.com
для каждого из двух сайтов. Ранее сайты размещались на линоде с теми же конфигурациями и без проблем настраивались, поэтому я немного удивлен, что у меня возникли проблемы.
Очень часто (более 50% времени) при доступе к сайтам я получаю 504 Gateway Time-out
а попытка доступа даже не регистрируется в ошибках apache или журналах доступа вообще, поэтому отладить сложно.
Я видел здесь похожие темы, обсуждающие эластичную балансировку нагрузки, но это не мой случай. Я не знаю, как продолжить работу и решить проблему.
Вот произвольный снимок экрана с изображением вершины в определенный момент времени, когда делается запрос:
РЕДАКТИРОВАТЬ
В конце концов я понял, что это неправильно настроенный fail2ban
сценарий, который добавил мой ip в черный список iptables на определенное время. Мой первый запрос будет работать, но последующие запросы будут заблокированы iptables до истечения срока, что приведет к 504.
Экземпляры EC2 t2.micro какой ужас. Вот, я это сказал. Какой ужас. Если вы запускаете неинтерактивное приложение и не возражаете, если выполнение определенного задания занимает в 10 раз больше времени, чем должно, тогда t2.micros может работать нормально. Однако для любого типа интерактивного веб-приложения они бесполезны.
Я предполагаю, что если вы посмотрите top
в периоды, когда это происходит, вы увидите высокий процент кражи ЦП и / или iowait. К сожалению, единственное, что вы можете сделать, чтобы исправить это, - это перейти на более крупный экземпляр.
Если вам не нужны более продвинутые функции, доступные в AWS, это не лучшее решение с точки зрения производительности на доллар. Linode, DO и другие поставщики VPS легко превосходят по производительности экземпляры EC2 аналогичного размера.