Я купил сервер PRIMERGY TX100 S1 с пробной версией Windows Server 2008 R2 Web Edition.
Мое интернет-соединение со статическим IP-адресом очень-очень быстрое (около 50 мегабит в секунду) как для загрузки, так и для загрузки.
Мой сайт обслуживает только текстовое содержимое, без потоковой передачи.
Сколько одновременных запросов в среднем может обрабатывать сервер среднего класса? Может ли он обрабатывать как минимум 1000 одновременных запросов?
Те, у кого есть опыт в этой области, могут сделать приблизительный прогноз.
Давайте разберемся с цифрами:
Остальная часть этого ответа - это просто обсуждение, чтобы просто указать вам в каком-то направлении.
Я размышлял над этим вопросом несколько раз, и, поскольку вы ищете фигурки в парке, это может вам помочь:
Если посмотреть на выделенные серверы переднего плана, которые обрабатывают конкретную задачу (но поговорить с другими службами, чтобы они выполняли работу за них, например, с инфраструктурой поиска Google, которая обращается ко многим другим машинам для получения фрагментов информации), то ваши машины переднего плана, которые обрабатывают фактические клиентские сокеты должны иметь возможность обрабатывать около 15 000 пользователей одновременно (приблизительный расчет, если исходить из двоичного протокола), потому что если вы посмотрите, сколько игроков играет на сервере на WOW, в зависимости от мощности машины, у них будет от 6 до 30 000 пользователей на " world "- я предполагаю, что это одна машина, поддерживаемая другими службами сзади. Я не могу найти страницу со списком серверов и игроков по каждому серверу. Это не веб-сайт, но вы ищете приблизительную информацию, которая может привести вас в нужное место.
Взгляните на статистику серверов Википедии, если вас интересуют некоторые цифры архитектуры - http://stats.wikimedia.org они показывают каждую деталь, которая может вас заинтересовать в отношении HTTP-запросов.
Взглянув на статистику IIS, возьмем, к примеру, этот сайт, stackoverflow.com - они выполняли 16 миллионов обращений в месяц на двух веб-машинах, и я уверен, что на нем одновременно находилось более 1000 человек. Есть статья о HighScalability.com о серверах stackoverflow. Обновить -- сейчас 95+ миллионов в месяц.
Сколько дерева выколотил бы сурок, если бы сурок мог забить дерево?
На ваш вопрос практически невозможно ответить, даже если вы указали полные спецификации сервера вместе с деталями обслуживаемых данных, например, если что-то является динамическим, средний размер запроса и т. Д. Единственный способ получить хороший ответ - это настроить сервер, отправить ему запросы и измерить, что происходит. Так вы также найдете свои узкие места.
Сервер (процесс сайта / БД) может съесть намного больше, чем ваш (сокет, стек TCP, сетевой адаптер), если он плохо спроектирован. Лучше спросить, как сервер может обрабатывать одновременные TCP-соединения в меню.
В средней системе Linux эта критическая точка - 100 после начала деградации. Это означает, что он может обрабатывать более 100, но не настолько эффективен. Он может подняться, вероятно, до 180 после того, как начнет вести себя совершенно неприемлемо.
Microsoft утверждает, что критическая точка последних серверов Windows - это около 500 устройств, написавших более эффективный стек TCP.
Но учтите, это много. Если у вас 150000 посетителей в месяц, то есть около 5-6 одновременных подключений, поэтому, если у вас нет в 10 раз больше посещений, вам следует беспокоиться об этом, особенно если вы размещаете сайт на реальном сервере.
НО, НО, НО ВНИМАНИЕ !!!!!!!! сайты обычно размещаются на виртуальных машинах, а затем веб-серверы на каждой виртуальной машине могут иметь несколько сайтов, так что это ускоряет путь до критической точки. Критический момент, о котором я говорю, стоит для реальной машины - сетевой адаптер. В общей среде другие пользователи берут свою часть ресурсов.
Это объяснение того, почему вы получаете такой плохой опыт, когда размещаете свой сайт у дешевого хостинг-провайдера. Чтобы сократить расходы, они, как правило, имеют как можно больше виртуальных машин на одном и том же реальном сервере с максимальным количеством сайтов, каждый из которых может обрабатывать, с другой стороны, у них есть физический сетевой адаптер для проталкивания трафика для всего этого.