У нас есть продукт, основанный на стороннем приложении, работающем на сервере Apache, подключенном к базе данных firebird (v2.5.3).
К сожалению, мы дошли до того, что получаем тайм-ауты, когда пользователи пытаются сделать запросы к серверу. При открытии вкладки devtools->network мы видим, что пакеты отбрасываются.
Для отладки этой проблемы мы записали трафик wireshark на сервере и видим много событий повторной передачи. Некоторые http-пакеты передаются нормально, но некоторые получают повторную передачу, и я подозреваю, что это вызывает тайм-аут.
ЦП сервера высокий (50-100%), в основном из-за базы данных firebird. У облачного провайдера, на котором размещен сервер, нет SSD-дисков, и мы понимаем, что это может быть проблемой.
Одна странность заключается в том, что на записи wireshark мы не видим http-запросов от пользователей. Вот как это выглядит для полученных пакетов:
Когда я пытался поймать запросы с одного конкретного IP, которые не увенчались успехом, я получил только повторную передачу TCP (поэтому я не вижу самого запроса). Не уверен, что это важно, но соединение идет по порту 443. Вот пример того, как это выглядит:
Возможно ли, что из-за того, что база данных Firebird занята/процессор высок, пакеты http отбрасываются на более низком уровне (через 4-5 секунд) даже без регистрации запроса http в wireshark?
Поскольку мы не можем заменить диски на SSD, вы думаете, что обновление процессора может решить эту проблему?
Есть ли какая-либо конфигурация apache или firebird, которая может улучшить производительность?
Любую другую информацию, которую я могу попытаться собрать, чтобы получить больше информации о проблеме?