Zope сервер слишком долго, чтобы ответить - PullRequest
1 голос
/ 30 января 2012

Постановка проблемы:

Веб-сайт erp5-zope обрабатывает запрос в течение 4-5 минут, хотя я добавляю больше клиентов Zeo.Количество запросов в секунду составляет около 10.

Диаграмма высокого уровня:

          .------- zeo client ---.
nginx ---{ ------- zeo client ----} ---> zope server (mysql and zope)
          `-------- zeo client ---'

сервер ч / ш

nginx -> 4 core (4 GB RAM)
zeo clients -> 2 core (4 GB RAM)
zope server -> 16 core (8 GB RAM)

Наблюдения:

Еслия пытаюсь получить доступ к веб-сайту, используя новый клиент Zeo, который не работает, но указывает на тот же сервер zope, а затем я получаю хороший ответ.Когда я добавляю тот же новый клиент Zeo в рабочий процесс, отклик сервера некоторое время довольно хороший (скажем, 5 минут), но позже общая производительность снова падает.Теперь, когда я пытаюсь получить доступ к веб-сайту напрямую, используя новый клиент Zeo, он тоже становится медленным (поэтому проблема с nginx не возникает).Все блоки, кроме внутреннего сервера zope, не имеют большой активности (много свободного оперативной памяти, небольшая нагрузка <1 и сеть не перегружена), но в Zeo-сервере средняя загрузка составляет> 2, и все процессоры используются более чем на 50%.Я также вижу множество потоков MySQL на сервере zope.

О веб-приложении:

Это университетские веб-сайты, на которых студенты могут зарегистрироваться на курсы.Он не делает ничего, кроме заполнения формы, загрузки и изменения размера изображения, печати некоторых форм и преобразования документов (в odt, в doc, в pdt).

Вопросы?

Является ли архитектура высокого уровнянеправильно ?Или что-то не так с кодом (кэширование или что-то)?Как я могу улучшить общую производительность?Поможет ли отделить MySQL Server от бэкэнда Zope?

1 Ответ

0 голосов
/ 12 марта 2012

Начните с 1 потока zserver для каждого клиента ZEO и увеличьте размер кэша

...