Apache с mod_jk с экземплярами Glassfish, большое количество установленных соединений для небольшого количества пользователей [дубликат]

На этот вопрос уже есть ответ:

Я настраиваю наши производственные серверы для портала, у нас есть 4 сервера, 2 для Интернета и 2 для приложений, и есть брандмауэр до и после веб-серверов (так что да, между приложением и веб-серверы) проблема здесь началась с отбрасывания незанятых соединений между серверами приложений и веб-серверами с помощью брандмауэра, попробовала множество решений, и теперь казалось, что проблема переместилась из зависших разорванных соединений, которые были в приложении, потому что при удалении с брандмауэра эта проблема возникала, когда У меня низкая нагрузка на портал, и чтобы решить эту проблему, мне нужно перезапустить все серверы приложений, теперь у меня проблема с днями высокой нагрузки, и срочным решением был просто быстрый перезапуск веб-серверов Apache, как решить эту проблему.

Я внес изменения с помощью генератора конфигурации балансировки нагрузки Jboss: http://lbconfig.appspot.com/?lb=mod_jk&mjv=1.2.28 & nca = 64 & ncj = 64 & nai = 2 & nji = 2 & njips = 6 & f = true & c = false & lr = false & lrl = & mpm = Prefork

И отслеживая соединения на обоих серверах с помощью команды netstat и с помощью обзора Google Analytics в реальном времени, я получил следующую статистику с ~ 40 посетителями через 3 дня после последнего перезапуска:

Веб-сторона (2 сервера, но соединения ее «для каждого», а не всего):

ESTABLISHED ~700 - 750
TIME_WAIT: 100-200 (big jumbs for one second 150 another 200 another 170 and then 120 and so)

Сторона приложения (здесь я подсчитал все соединения, большинство из них УСТАНОВЛЕНО и несколько CLOSE_WAIT 0–5 каждый раз, когда я проверяю):

S1 (4 instances running) : 900-950
S2 (5 instances running) : 1000-1100

Сведения о серверах:

  • На веб-серверах 2x: Apache 2.2.14 / mod_jk 1.2.37
  • на серверах приложений 2x: Clustered Glassfish 2.1.1 с ajp13 (6 экземпляров / каждый сервер)
  • Все серверы Solaris SPARC 64 V-CPUs 32GB RAM.

Мои конфигурации: В основном такие же, как у генератора (вы можете увидеть ссылку):

httpd.conf:

KeepAlive On
ServerLimit         12800
StartServers        5
MinSpareServers     5
MaxSpareServers     20
MaxClients          12800
MaxRequestsPerChild 5000

ExtendedStatus Off

worker.properties:

worker.maintain=30
worker.template.type=ajp13
worker.template.session_cookie=JSESSIONID
worker.template.lbfactor=1
worker.template.ping_timeout=10000
worker.template.connection_pool_timeout=10
worker.template.socket_keepalive=True
worker.template.socket_timeout=600
worker.template.connect_timeout=10000
worker.template.prepost_timeout=10000
worker.template.connection_ping_interval=20
worker.template.ping_mode=A
worker.template.socket_connect_timeout=600000

Со стороны Glassfish тайм-ауты 10 секунд со стороны конфигурации кластера, у меня:

Свойство службы HTTP:

  • connectionTimeout = 10000

Обработка запроса:

  • Количество потоков: 2133
  • Начальное количество потоков: 20
  • Шаг потока: 10

Keep Alive (включено):

  • Количество потоков: 400
  • Максимальное количество подключений 256
  • Тайм-аут: 10 секунд

Пул подключений :

  • Максимальное количество ожидающих обработки 4096 connections

Итак:

  • Итак, мои конфигурации верны?
  • Как решить проблему с большим количеством установленных подключений или это безопасно? Я не хочу снова простаивать для apache, если снова будет высокая нагрузка.
0
задан 12 September 2013 в 16:13
1 ответ

regarding mod_jk / mod_ajp: we used this is a slightly bigger setup and stumbled upon bugs and errors every then and there, connections getting dropped, but never found a real solution to any of our problems (but we found some bugs, that still exists)

my advise: make an alternate setup and perf-tests: mod_jk vs proxy_http and if proxy_http is within acceptable ranges, skip mod_jk. i did this in 2 different setups now (and, additionally, are able to replace apache with nginx -> BIG WIN) and do not regret it.

pros

  • easier to debug
  • more variety of possible lb/frontend gateways (haproxy, nginx, varnish)
  • less heisenbugs

cons

  • didnt found some
0
ответ дан 5 December 2019 в 15:03

Теги

Похожие вопросы