mysql и сервисы советов, недоступные в течение времен интенсивного трафика

Я имею, имеют веб-сервер, который выполняет некоторые сервисы как Apache, Mysql, Redis и некоторые NodeJS приложения. На временах интенсивного трафика мой сервер, кажется, не делает, поддерживают большую нагрузку. Когда происходит, часто когда я пытаюсь получить доступ к странице, я получаю следующее сообщение из mysql:

Warning: mysqli_connect(): (HY000/2003): Can't connect to MySQL server on '127.0.0.1' (99)

Это сообщение появляется на неустойчивой форме, способом что большую часть времени, если я обновляю страницу, это сообщение не появляется снова. Кроме того, я не думаю, что это - проблема на моей конфигурации для mysql, потому что у меня есть следующий результат mysqltuner.pl все время:

[OK] Highest usage of available connections: 74% (336/450)

Точно так же Сервер Redis показывает сообщение проблемы для соединения с сервером:

Could not connect to Redis at 127.0.0.1:6379

Я контролирую свой сервер в течение тех времен, и я выяснил что aproximatly 2G RAM (whitout использование любого байта ПОДКАЧКИ для процесса Mysql, Redis или NodeJS. После проводят некоторое время в исследовании (без Севера для следования), я считал некоторых о Портах Ephemearal. Таким образом, я пытался корректироваться net.ipv4.ip_local_port_range параметр для увеличения моего диапазона портов (корректируются от 32768 61000 кому: 10000 65000). Результаты были ужасны! Мой веб-сервер повышает, это - время отклика от среднего числа 180~200 мс приблизительно к 6 000 мс, и среднее число загрузки сервера повышает много также (но сообщения об ошибках исчезают!).

Мои приложения NodeJS (все они) используют Socket.io, и ответьте от другого por на моем сервере. Я пытаюсь выяснить то, что является решением для проблемы. Это - проблема доступности порта? Почему сетевой ipv4.ip_local_port_range параметр, корректируют замедление сервера?

Конфигурация сервера:

  • Сервер Ubuntu x64
  • Intel Xeon E5520 Quad-Core
  • 8 ГБ ПОРШНЯ
  • 2x SATA на 1 000 ГБ 2,5 дюйма 5 400 об/мин (RAID 1)
  • 2x SSD на 60 ГБ 2,5 дюйма (RAID1) (Материал базы данных идет все сюда),
0
задан 1 May 2015 в 19:05
1 ответ

Если ваш вопрос заключается в том, как лучше всего контролировать ваш сервер в периоды пиковой нагрузки, что трудно сделать в периоды пиковой нагрузки, я бы поискал какой-нибудь легкий инструмент для помощи в мониторинге. . Top, ps и df не всегда сокращают его.

Я использовал collectd для захвата точек данных на моих разделах, памяти, процессорах, apache, mysql и другие вещи. Он собирает данные и сохраняет эти точки данных, тогда вам понадобится какой-нибудь другой инструмент для извлечения данных - например некоторые веб-интерфейсы для отображения данных .

Затем для устранения неполадок, возможно, инструмент чтобы поразить ваш сервер и создать сценарий с высоким уровнем использования. Apache Benchmark (ab) или Siege - хорошие инструменты для этого.

1
ответ дан 4 December 2019 в 16:58

Теги

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