Nginx performe лучше на Linux по сравнению с Apache?

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

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

До нахождения образа виртуальной машины, где "безопасность сделана более простой", который просто не существует (кроме самого простого случая, где Вы используете изображение, которое не загружается - это склонно быть довольно безопасным). Компьютерная безопасность не похожа на спойлер устройства, повышающего характеристики, это - продолжающийся процесс анализа Ваших изменяющихся требований, внесения необходимых корректировок конфигурации, иногда говоря "нет, Вы не можете сделать этого, Вы получите pwned" и разрабатывающий некоторое другое решение Вашей проблемы. Никакой образ виртуальной машины не может сделать это для Вас; кто-то с мозгом и рабочими пальцами должен заботиться о нем на непрерывной основе.

2
задан 4 May 2011 в 10:25
3 ответа

В первую очередь, это не верно, что разветвление процесса обычно более эффективно, чем поточная обработка. Это чрезвычайно зависит от того, как ядро ОС обрабатывает потоки/процессы.

Известно, что разветвление обрабатывает, легкая, эффективная задача в системах Unix, но ужасный в Windows. Что означает, что в Windows Вы - вероятно, очень более обеспеченные потоки использования, в то время как на Unix это не обязательно означает, что потоки более или менее эффективны, чем процессы.

Apache 2. X позволяет быть выполненным в нескольких режимах, включая порождение процессов или работу с пулом потоков.

Существует много ресурсов в сети, которые сравнивают nginx с апачем. Использование каждого сравнительного теста ограничено из-за различных сценариев тестирования:

  • Конфигурация сервера, особенно апачского сервера
  • Рабочая нагрузка, которая будет покрыта, статичный по сравнению с динамическим контентом, и т.д.
  • Интерес сравнительного теста: Полная пропускная способность, время отклика, изменение в ответ времена

Наилучший вариант уехал в Вас, должен разработать Ваш собственный сравнительный тест на Вашем сервере, с Вашим сценарием. См. также этот вопрос: https://stackoverflow.com/questions/2528266/how-to-benchmark-apache-nginx-setup

12
ответ дан 3 December 2019 в 08:35

Вы, вероятно, не заботитесь очень.

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

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

Nginx не резервирует поток или процесс для каждого связанного клиента - он обрабатывает их асинхронно, который существенно уменьшает издержки, которые бездействуют, клиенты производят.

1
ответ дан 3 December 2019 в 08:35

nginx основан на процессе (для каждого нового соединения с сервером новый процесс)

Это не корректно. Nginx действительно порождает много рабочих процессов для обрабатывания запросов, но каждый может обработать больше чем один запрос сразу, поскольку это событийно-ориентировано. Это - источник большого количества его преимуществ перед Apache, поскольку он может обработать огромное количество параллельных запросов с относительно скромным количеством процессов.

Что касается производительности, которая зависит полностью от ситуации; никакой инструмент не лучше при всех обстоятельствах.

0
ответ дан 3 December 2019 в 08:35

Теги

Похожие вопросы