Очередная нёх
klink0v — 29.12.2022... Подкинуло тут мироздание очередную загадку по работе.
... Энный заказчик. Предоставил в своём контуре VMWare-виртуалку. Мы на ней раскатали некую Javaписьную софтину и обслуживаем её.
Пока нагрузки нет, всё работает без проблем.
Как только мы запускаем внутри этой самой софтины некое прожорливое задание, виртуалка перестаёт отвечать на новые (это важно) TCP-соединения. То есть пинги ходят без вопросов. Само приложение отрабатывает задание без проблем. Оно при этом устанавливает одну-две TCP-сессии с вражеским сервером и какое-то время гоняет через них данные. Причём, не сильно много, нескольно мегабит в секунду. По пакетам ну не больше 500 pps.
В момент возникновения проблем смотрел нагрузку на CPU, память, Disk I/O, сеть, количество файловых дескрипторов. Ничего криминального. Каким-то highload-ом даже близко не пахнет. Свободных вычислительных ресурсов ещё дохренищща. На других виртуалках в нашем собственном контуре это же самое приложение задрючено на порядки суровее, но ничего подобного с ним не наблюдается. Подозрение вызывает только какой-то зело дикий объём трафика, прошедший через loopback-интерфейс за последние N месяцев. Но откуда он там взялся, пока неясно.
Тем не менее, в момент старта задания и само приложение перестает отвечать на новые соединения к его TCP-сокету, и даже сама виртуалка банально перестает откликаться на SSH. Но повторюсь, пинги как ходили, так и ходють.
Прежде чем идти к заказчику и говорить ему "сам дурак, ищи проблемы в своей сети", хочется прям точно-точно убедиться, что это не какой-то мой косяк. Хуже того, я прямо сейчас не очень-то понимаю как можно достоверно отличить вероятную нехватку системных ресурсов от проблем на сети. Ситуацию осложняет то, что по требованию очередной службы "безопасности" (как меня бесят все эти мудилы-дармоеды) доступ в этот контур анально огорожен через всякие Jump-хосты; все TCP-порты кроме тех, на которых слушает собственно приложение, закрыты и всё в этом духе. Так что мне оттуда ни метрики Zabbix-ом нормально снять, ни какие-нибудь benchmark-и провести.
И ещё я не могу "вылезти" за пределы виртуалки, разумеется. Всякие tcpdump-ы пускать могу, но они не особо информативны. Видно, что вроде как запрос пришел. Видно, что приложение ответило, а что там дальше происходит, хрен его знает, товарищ прапорщик.
Подозреваю, что заказчик что-то кривыми ручками натворил с ВМ-Тварью, но обосновать не могу. Вот такая нёх.
|
</> |