Больше против.Более быстрые ядра на веб-сервере [закрыто]

StackOverflow https://stackoverflow.com/questions/3801

  •  08-06-2019
  •  | 
  •  

Вопрос

Обсуждение Dual vs.Quadcore так же стар, как и сами Quadcore, и ответ обычно такой: «Это зависит от вашего сценария».Итак, сценарий представляет собой веб-сервер (Windows 2003 (не уверен, x32 или x64), 4 ГБ ОЗУ, IIS, ASP.net 3.0).

У меня сложилось впечатление, что процессор веб-сервера не обязательно должен быть НАСТОЛЬКО быстрым, поскольку запросы обычно довольно легкие, поэтому лучше иметь больше (более медленных) ядер, поскольку мы получаем много небольших запросов.

Но поскольку у меня нет большого опыта балансировки нагрузки IIS и поскольку я не хочу тратить много денег только для того, чтобы обнаружить, что я сделал неправильный выбор, может ли кто-нибудь, у кого есть немного больше опыта, прокомментировать, стоит ли Лучше больше медленных или меньше быстрых ядер?

Это было полезно?

Решение

Для чего-то вроде веб-сервера разделение задач по обработке каждого соединения (относительно) просто.Я считаю, что можно с уверенностью сказать, что веб-серверы — это один из наиболее распространенных (и отработанных) вариантов использования параллельного кода.А поскольку вы можете разделить большую часть обработки на несколько отдельных потоков, увеличение количества ядер действительно принесет вам пользу.Это одна из главных причин, почему общий хостинг вообще возможен.Если бы серверное программное обеспечение, такое как IIS и Apache, не могло выполнять запросы параллельно, это означало бы, что каждый запрос страницы должен был обрабатываться в виде очереди... что, вероятно, делало бы время загрузки невыносимо медленным.

Именно поэтому высокопроизводительные серверные операционные системы, такие как Windows 2008 Server Enterprise, поддерживают примерно 64 ядра и 2 ТБ оперативной памяти.Это приложения, которые действительно могут использовать преимущества такого количества ядер.

Кроме того, поскольку каждый запрос, вероятно, имеет низкую нагрузку на процессор, вы, вероятно, (для некоторых приложений) можете обойтись более медленными ядрами.Но очевидно, что повышение скорости каждого ядра может означать возможность быстрее выполнять каждую задачу и теоретически обрабатывать больше задач и больше запросов к серверу.

Другие советы

Мы используем Apache в Linux, который образует процесс обработки запросов.Мы обнаружили, что большее количество ядер увеличивает нашу пропускную способность, поскольку уменьшает задержку процессов, ожидающих помещения в очередь выполнения.У меня нет большого опыта работы с IIS, но я думаю, что тот же сценарий применим и к его пулу потоков.

Марк Харрисон сказал:

У меня нет большого опыта работы с IIS, но я думаю, что тот же сценарий применим и к его пулу потоков.

Действительно — больше ядер = больше потоков, работающих одновременно.IIS по своей сути является многопоточным и легко использует это преимущество.

Чем больше, тем лучше.Поскольку языки программирования становятся более сложными и абстрактными, потребуется больше вычислительной мощности.

Атлеат Джефф считает Четырехъядерный процессор лучше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top