Конфигурация Tomcat для аналитического приложения - PullRequest
0 голосов
/ 20 апреля 2011

Я работаю над аналитическим приложением, очень похожим на Google Analytics.Он в основном хранит статистику с различных сайтов в базе данных.

Приложение имеет следующие свойства:

  • большое количество запросов (2,5 к / с в пиковое время)
  • небольшая обработка на запрос

Я использую Tomcat 6 и Apache HTTPD 2.

Какие значения мне следует установить для атрибутов maxThreads и connectionTimeout Tomcat для этого конкретного типа приложения?

1 Ответ

1 голос
/ 20 апреля 2011

Единственный способ определить оптимальные настройки для вашего конкретного сайта - тестирование. Очевидно, что ваш экземпляр Tomcat будет обрабатывать очень большое количество довольно небольших запросов с небольшим количеством возвращаемых данных - это не нормальная ситуация. Я предполагаю, что вам нужно большое количество потоков (может быть, 1000, по умолчанию 200) и короткий тайм-аут, но какие точные значения будут оптимальными, нужно будет определить путем тестирования и, возможно, настроить после полевых испытаний.

В прошлом я писал небольшие многопоточные приложения для запуска запросов на сервере, это дешево и весело и может достигать очень высокой частоты запросов. Если вы хотите что-то более изощренное, посмотрите JMeter , и он сможет неплохо загрузить большинство сайтов.

Я думаю, вам следует рассмотреть возможность запуска нескольких экземпляров Tomcat с некоторой формой балансировки нагрузки, если вас беспокоит количество запросов, затопляющих отдельный экземпляр. Поскольку вы, похоже, используете Tomcat за Apache, его довольно просто настроить в коннекторе AJP.

EDIT

Только что увидел ваше обновление с цифрами. Я предпочитаю смотреть на запросы в секунду, а цифры, которые вы даете, работают примерно на 18 в секунду. Я бы подумал, что Tomcat сможет справиться с этим без изменения настроек. Я предполагаю, что у вас есть бутылочное горлышко где-то еще, вероятно, в хранилище данных, так как я предполагаю, что оно входит в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...