Непонятная проблема "неопределенной нагрузки", с которой сталкиваются пользователи

Я надеялся, что, возможно, один из вас, ребята, имеет представление о том, что происходит. Для вашего удобства ниже я кратко изложил проблему, с которой я столкнулся, включая все, что мы пробовали до сих пор.

Краткое изложение проблемы

Краткое содержание

  • Иногда некоторые пользователи могут испытывать неограниченную загрузку сайта при переходе на наш домен.
  • Хотя эта неопределенная загрузка происходит, другие пользователи в той же сети или за ее пределами смогут получить доступ к сайту без каких-либо проблем.
  • Эта проблема, кажется, возникает только (на данный момент), когда есть несколько компьютеров в одной сети с одним общедоступным IP-адресом, соединяющимся с сервером (IP-адрес маршрутизатора). Время от времени одно из этих устройств будет испытывать неопределенную нагрузку
  • Эта неопределенная загрузка может происходить в порту SSH (1035) или порте SSL (443). Это может произойти в браузере или терминале.
  • Как сказано выше, другие устройства в сети не будут испытывать эту проблему
  • Как только пользователь испытывает эту неопределенную нагрузку, любой браузер, который он использует, или ssh не будет работать. Что-то временно мешает им добраться до сервера через любой из открытых портов
  • Newrelic и ntop сообщают об отсутствии скачков ЦП, проблем с памятью или HD. На сервере достаточно ресурсов
  • Эта проблема воспроизводима и в нашей промежуточной среде
  • Однако эту проблему нелегко воспроизвести, она более вероятна, так как все больше людей получают доступ к нашему сайту из одной сети.

Серверное оборудование

  • Хостинг: Softlayer (IBM)
  • 2 x 2,4 ГГц Intel Xeon-Haswell (E5-2620-V3-HexCore)
  • Всего 16 ядер
  • 8x8 ГБ, микрон 8 ГБ, DDR4 1Rx4
  • SuperMicro X10DRU-i + Материнская плата
  • ОС: Ubuntu16.04-64 Минимальный для Bare Metal

Серверные приложения

  • Сервер работает под управлением Magento 1.9.3 с использованием php-fpm и nginx.
  • Сеансы управляются с использованием memcached
  • Другие кэши управляются с помощью Redis
  • На сервере запущен эластичный поиск
  • Мы используем CDN, размещенный на AWS (CloudFront) с сервером в качестве источника
  • Вышеуказанные приложения работают на одном сервере, чтобы уменьшить задержку в сети
  • Сервер взаимодействует с сервером Percona MySQL (db1.viyet.com)
  • Только порты 80, 443 и 1035 (наш порт ssh) открыты для публики
  • Сервер использует IPTables для безопасности
  • Мы не используем систему регулирования DDOS, такую ​​как CloudFlare

Что мы попробовали:

  • Мы смогли воспроизвести эту проблему в различных сетях (дома, в офисе и т. Д.) С нескольких устройств.
  • Мы переключаемся на новый, гораздо более мощный сервер (описанный выше) только для того, чтобы испытать ту же проблему
  • Мы увеличили скорость сети сайта и БД со 100 Мбит / с до 1 Гбит / с
  • Мы временно отключили следующее, но все еще испытывали проблему: таблицы IP., Упругий поиск, Memcached.
  • Когда пользователь испытывает неопределенную проблему загрузки, мы попытались перезапустить / остановить PHP, сбросить кэш redis и сбросить memcached безуспешно
  • После миграции на новый сервер и увеличения скорости сети мы обнаружили, что проблема возникает так же часто, однако время ожидания сокращается. Раньше около 2 минут после того, как пользователь столкнулся с проблемой. Теперь это около 1,5 минут

То, что "кажется" происходит Похоже, что что-то временно препятствует доступу к портам, описанным выше, когда много запросов поступают с разных устройств под одним и тем же IP. Это как будто есть ограничение.

Есть ли у вас какие-либо сведения о том, что может быть причиной этого или какие-либо идеи, как добраться до сути этой проблемы?

0 ответов

Другие вопросы по тегам