Может непослушный кот сбоя приложения базы данных?

Существует два совсем других ответа.

  1. Используйте прием "subdomain-as-account-folder".
  2. Запишите короткий сценарий и конфигурационный файл, которые вместе генерируют Ваш httpd-vhosts.conf файл (файлы) динамично. Затем сценарий и конфигурация становятся Вашими ведущими устройствами, и .conf файлы "потребляемы".

Я рекомендую № 2, и я думаю, что Прагматически настроенные Программисты могли бы также.

2
задан 17 May 2009 в 19:11
4 ответа

Я не думаю, что кто-либо будет иметь решение Вашей проблемы, но только ведет и идеи. Вот некоторые:

  • Вам нужны роботы, которые проверят состояние каждой части Вашего сервиса. (тестирование единственного соединения с Вашей базой данных, получая статическую веб-страницу, получая динамическую веб-страницу...). Таким образом, Вы будете видеть то, что увеличивают повреждения сначала или время отклика.

  • у Вас есть сервис контроля/статистики? Необходимо отслеживать "количество активных соединений с базой данных", "количество активных веб-сессий", "количество потоков кота", "память, доступная", ЦП...

Мой совет, нет никакого процесса кота, оставленного, потому что они все застревают, ожидая ресурса (возможно, соединение с базой данных, или они - просто бесконечный цикл!). Инструменты, которые я перечислил прежде, определенно помогут Вам понять, почему Ваш сервер умирает медленно каждую неделю.

  1. выполненный netstat на Вашем сервере и взгляде на количество соединений с сервером базы данных (и проверка это против Вашего размера пула и мощности сервера базы данных).
  2. выполненный jstack на Вашем сервере приложений и cut/grep/sort их для наблюдения то, что делают потоки.
2
ответ дан 3 December 2019 в 09:55

Если обслуживание статических страниц не требует никакого доступа к базе данных, то кажется маловероятным, что это - проблема ресурса базы данных как таковая. Может случиться так, что все объединенные потоки застревают где-нибудь, такие как ожидание диска базы данных или в мертвой блокировке. Первая вещь, которую я сделал бы, получают снимок отслеживаний стека с jstack. Можно далее посмотреть на процесс с visualvm или jconsole.

1
ответ дан 3 December 2019 в 09:55

Просто требуемый, чтобы добавить то, что это довольно характерно для проблем блокировки таблицы с таблицами MyISAM, может легко заставить соединения с БД накапливаться и заставлять приложение, ожидающее тех результатов находиться и находиться.

Можно хотеть проверить список процессов MySQL, чтобы видеть, существует ли много запросов, находящихся в заблокированном состоянии.

# mysqladmin processlist

- или-

mysql> show processlist;

Если блокировка будет проблемой, то Вы захотите видеть, если изменение механизма устройства хранения данных на проблемных таблицах от MyISAM до InnoDB выполнимо.

1
ответ дан 3 December 2019 в 09:55

При установке веб-приложения лямбда-зонда (получите 1,7 беты), можно получить контроль уровня потока; слежение за этим скажет Вам, когда потоки застрянут, ожидая базы данных, а также хоста другой полезной диагностики.

Это немного старо, но все еще хорошо работает в недавних выпусках кота.

1
ответ дан 3 December 2019 в 09:55

Теги

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