Любые предложения по конфигурации сервера для моего веб-сервера? - PullRequest
2 голосов
/ 17 апреля 2009

Я настраиваю веб-сервер для клиента. Они будут использовать веб-приложение (PHP / LAMP), которое я создаю. Сервер будет находиться в своей сети локально. Там же будет база данных MySQL на том же сервере. Нагрузка на сервер будет составлять только 20-25 одновременно работающих пользователей, но время работы и производительность по-прежнему очень важны.

Само приложение будет использовать внутреннюю CMS (TBD) для отображения контента пользователю, используя JQuery на внешнем интерфейсе и PHP на внутреннем.

Итак, мой вопрос: существует ли хороший набор требований к серверной системе с точки зрения ЦП, кэша и памяти (размер / тип), чтобы обеспечить относительно дешевое решение, но при этом обеспечить качественную производительность.

Ответы [ 3 ]

3 голосов
/ 17 апреля 2009

Сказать по правде, аппаратное обеспечение - не самый важный фактор, это кодирование. Если вы разрабатываете свое приложение правильно и оптимально, тогда вы сможете одновременно запустить не менее 100 пользователей на компьютере с 1 ГГц, 512 МБ оперативной памяти и жестким диском на 5200 об / мин.

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

Кроме того, запустите конфигурацию LAMP в операционной системе без графического интерфейса (Debian, Ubuntu, Fedora и т. Д. Без установленного X-Window). Это серверы, они не должны тратить ресурсы на отображение красивых окон.

Наконец, как сказал Трент, конфигурация RAID - отличная идея, но RAID не является решением для резервного копирования. Если у вас есть два одинаковых жестких диска, очень вероятно, что если один из них выйдет из строя, другой вскоре после этого. Всегда имейте решение для резервного копирования (NAS, магнитная лента, DVD, дискета и т. Д.).

1 голос
/ 17 апреля 2009

Не зная подробностей о приложении, которое будет работать на сервере, любые конкретные рекомендации (например, X ГБ ОЗУ, Y-процессор с Z-кешем) будут бессмысленными. Тем не менее, я настоятельно рекомендую не экономить на ОЗУ, особенно для приложений, работающих с базами данных - чем больше данных вы сможете хранить в ОЗУ, не касаясь жесткого диска, тем выше будет ваша производительность. Однако, как разработчик, никогда не забывайте, что обильные аппаратные ресурсы не могут заменить правильные индексы и оптимизацию кода!

Я также хочу повторить некоторые другие рекомендации здесь - RAID-накопители (ранее я предпочитал RAID 10 для серверов баз данных), получение какого-либо автономного резервного копирования (лента, DVD-R, USB-накопители и т. Д. .) и убедитесь, что вы храните резервные копии вне сайта (в случае наводнения, пожара или другого физического бедствия). И не забывайте регулярно проверять восстановление из ваших резервных копий - нет ничего хуже, чем обнаруживать, что ваши резервные копии не работают, когда уже слишком поздно.

1 голос
/ 17 апреля 2009

Просто убедитесь, что у вас есть 2 из всех ... 2 Источники питания 2 жестких диска (raid 1) или, что еще лучше, с raid 5. В зависимости от того, насколько важным является время безотказной работы, вы можете даже захотеть иметь весь отказоустойчивый сервер. Что касается производительности, вы не дали нам достаточно информации ... насколько тяжелы запросы, сколько данных в базе данных.

...