Назад | Перейти на главную страницу

Распределенная LAMP против БД и веб-сервера в одной коробке

У нас есть очень удобное для чтения приложение семантической сети (RDF), которое представляет собой RHEL 5 / Apache 2.2.3 / Tomcat 6 / Java 6 на одном сервере и MySQL 5.1 на другом. Apache и MySQL являются репозиториями Red Hat, поэтому, пожалуйста, не говорите, сколько им лет. Я хочу обсудить с точки зрения производительности преимущества размещения вашей БД на одном сервере с использованием сокета Unix по сравнению с использованием TCP-вызовов на удаленный сервер БД. Я знаю, что с точки зрения безопасности, если хакеры будут владеть ящиком, они будут владеть всем стеком, но сейчас я беспокоюсь о производительности. Сервер усилен, и перед ним стоят несколько IDS и брандмауэров.

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

Я не уверен, что это не приведет к тому, что это действительно быстро попадет в область «слишком много мнений, чтобы быть уместным», но начнем. Основное различие в производительности, которое я вижу, заключается в принесении в жертву производительности диска разделенной модели по сравнению с производительностью сети в унифицированной модели. Поскольку (по моему опыту) у вас гораздо больше шансов быть привязанным к диску, чем к сети, у меня возникнет соблазн сохранить разделение модели.