Я тестирую сайт, который мы делаем, и находим очень неожиданный результат по сравнению с моими ожиданиями:
Наш сайт начинает очень медленно загружаться при одновременной работе нескольких сотен человек, хотя процессор и память в порядке. Глядя на Диспетчер задач, вкладку «Сеть», я вижу, что моя сетевая карта 100 Мбит / с загружена на 98%.
Мне почему-то это кажется крайне смешным ...
Каждый раз, когда я читаю что-то о масштабируемости, это процессор, память, кеширование и т. Д. И т. Д., И здесь я обнаруживаю узкое место на самой сетевой карте.
Мы обслуживаем весь наш контент в сжатом виде, и наша домашняя страница довольно тяжелая, но не НАСТОЛЬКО. Я бы никогда не ожидал, что сетевая карта станет узким местом.
Это нормально?
Все ли имеют общедоступные веб-сайты, использующие сетевую карту 1 Гбит / с?
Я думал, что стандартным будет 100 Мбит / с.
Я что-то не так смотрю? Я неправильно интерпретирую график на вкладке «Сеть»?
ПРИМЕЧАНИЕ. Я могу придумать несколько способов исправить это, начиная с получения карты 1 Гбит / с и перемещения статических файлов на их собственные серверы. Мой вопрос в основном заключается в том, все ли просто используют соединения со скоростью 1 Гбит / с, что меня сильно удивит.
Пропускная способность как первое узкое место меня не слишком удивляет. ЦП, ОЗУ, HD и все другие компоненты за эти годы претерпели скачкообразные изменения, тогда как 100 Мбит / с существуют уже более десяти лет. Итак, вы находитесь в ситуации, когда у вас есть хороший бокс, более чем способный выдержать типичную нагрузку, но он подключен с использованием более чем десятилетних технологий.
Тем не менее, уверены ли вы, что ваша симуляция для 100 одновременных пользователей является точным отражением реального мирового трафика? При 100 абсолютно одновременных обращениях требуется всего 1 мегабит для каждого, или 128 КБ для каждого, для достижения максимального трафика. Это очень низкий потолок, и я считаю, что - если вы не уверены, что собираетесь получить такое использование, - вам может потребоваться пересмотреть нагрузочное тестирование.
Это звучит так, будто вы насыщаете доступную пропускную способность. Вам нужно либо сократить пропускную способность, либо переключиться на карту 1 Гбит / с, что я обычно ожидал найти на общедоступном веб-сервере (конечно, так было с каждой машиной класса сервера, которую я касался в последнем 10 лет - а где вы вообще нашли сервер с дешевой картой 100 Мбит / с? Неужели это переделанный рабочий стол?).
Что нужно проверить или учесть:
В течение многих лет более простые и менее функциональные веб-серверы рекламировали свою скорость, а в течение многих лет поклонники Apache отмечали, что Apache достаточно быстр, чтобы легко переполнить сетевой интерфейс. Похоже, у вас есть эффективный сайт. Вы действительно перекачиваете 100 мегабит, или сетевой стек просто занимает много процессора?
Я бы рекомендовал проверить сетевую часть вашей среды:
Если проблем нет, обновитесь до гигабита (который в любом случае должен быть стандартом для серверов).