2011-01-17 1 views
3

Не могли бы вы дать некоторые советы о том, как улучшить производительность web2py (WSGI apache + MySQL)? У меня есть приложение, которое каждые несколько секунд получает запросы Ajax от клиента для доступа к базе данных и возврата результатов. Сервер - это компьютер Ubuntu с 640 Мб оперативной памяти (виртуальный сервер на Amazon EC2, no Xserver).улучшение производительности web2py - базы данных и apache

В конфигурации apache имеется 4 WSGI-процесса. Недавно запущенный экземпляр apache2 оставляет около 300 Мб бесплатно, но после ста запросов система замедляется, и есть длительные задержки. Перезапуск сервера помогает освободить память (я настраивал cron, чтобы делать это каждые 30 минут, но я думаю, что это плохая практика).

Будем очень благодарны за любые просьбы! Более мощный сервер пока не является вариантом из-за бюджета.

Заранее спасибо!

ответ

2

Убедитесь, что вы используете пулы соединений. Делает большую разницу.

Также не используйте cron. Используйте фоновый процесс. Крон может потреблять больше памяти, чем необходимо.

1

Если вы используете фоновые скрипты, обязательно выполняйте транзакции() или rollback(). Это не требуется в среде web2py. Но если вы используете внешние скрипты, это будет необходимо.

Смежные вопросы