Назад |
Перейти на главную страницу
Пожалуйста, помогите мне выбрать конфигурацию веб-сервера
Возможный дубликат:
Пожалуйста, помогите мне выбрать конфигурацию веб-сервера
У меня есть веб-сайт, который вырос с 10 посещений в день до 100 за пару месяцев, а теперь до 800 уникальных посещений в день. До сих пор я использовал VPS с 512 МБ ОЗУ и общим процессором (я думаю, что это от 500 МГц до 1 ГГц).
Я думаю, что обслуживание некоторых запросов может быть медленным, потому что я вижу высокий показатель отказов (основной трафик - это ночь в моей стране. Кроме того, весь сервер в целом бесплатен, когда в моей стране днем. дневное время, время загрузки вроде нормально.).
В любом случае, может кто подскажет минимальный Конфигурация выделенного сервера (ОЗУ, ЦП и скорость порта), которая может обрабатывать следующее без замедления каких-либо запросов:
- 100К уникальных посещений в день (с учетом будущего).
- 500 тыс. Просмотров страниц в день. (В среднем 5 за посещение)
- Каждая страница, скажем, составляет 100 КБ (одно изображение, несколько миниатюр, кое-что прочее ... обычно это будет намного меньше, но при пессимистических вычислениях).
- Предположим, что пиковая нагрузка может быть в 5 раз больше средней нагрузки (нагрузка никогда не распределяется равномерно в течение 24 часов).
Прямо сейчас я не уверен, что будет узким местом. Мне нужно только общее представление.
С другой стороны, вы даже можете предположить, сколько просмотров страниц в день (при аналогичном 5-кратном распределении пиковой нагрузки) может сопровождаться поддержкой сервера:
- 2 ГБ RAM
- Процессор 2 ГГц
- Порт аплинка 100 Мбит / с (я даже не знаю, будет ли он посвящен мне или нет, но многие провайдеры упоминают об этом).
РЕДАКТИРОВАТЬ:
Я обслуживаю страницы PHP. У большинства из них нет или мало поисков в базе данных (скажем, до 5 простых запросов). Помимо них, некоторые манипуляции с переменными сеанса и т. Д. Среднее количество поисков / запросов в базе данных будет, скажем, 2 на страницу с не более чем несколькими тысячами записей в таблицах.
Практически невозможно дать какой-либо точный ответ на этот вопрос, поскольку получаемая вами производительность будет во многом зависеть от вашего конкретного приложения. Например, у меня есть страницы PHP, на которых я могу получить 10 тыс. Запросов / сек, а другие - только 10 запросов / сек. Сказав это, вот несколько общих вещей, которые могут вам пригодиться:
- Сколько вы можете / готовы потратить? Если у вас большой бюджет, вы можете начать с большего или большего количества машин. При меньшем / минимальном бюджете вы сэкономите деньги на установке меньшего размера, но вам нужно будет чаще масштабировать по мере роста сайта.
- Вы уже изучили базовую оптимизацию? Кэш опкодов PHP, mod_expires, слой (и) кеширования, lighttpd / nginx для статического содержимого и т. Д. Они могут значительно снизить нагрузку на сервер, а это означает, что вы можете выполнять больше за меньшие деньги.
- Тестирование вашего сайта с помощью таких программ, как ab (ApacheBench) или siege, является важным шагом в масштабировании и оптимизации сайта. Сделайте это для различных типов страниц: статических, динамических, авторизованных, вышедших из системы и т. Д., Чтобы получить представление о том, сколько страниц сервер действительно может обрабатывать и каковы текущие узкие места. Это также поможет вам во время оптимизации и масштабирования, поскольку покажет, какое влияние на производительность оказывает каждое изменение.
- Типичный недорогой выделенный сервер стоит около 100 долларов в месяц с 4 ГБ оперативной памяти. Это должно служить вашей текущей загрузке трафика. Только сравнительный анализ скажет вам, какой будет максимальный трафик.
- По мере увеличения трафика вам придется решать, увеличивать ли его (вертикальный, более крупный сервер) или нет (горизонтальный, больше серверов). Нет неправильного ответа, но в зависимости от вашего приложения тот или другой может подойти лучше. Бенчмаркинг также важен для понимания узких мест вашего сервера, чтобы вы могли правильно масштабировать его при необходимости. Я бы пока не стал начинать с серверов большего размера или большего количества: в вашем масштабе это, вероятно, будет излишним.
- Еще одна вещь, которую следует учитывать при покупке выделенного сервера, - это ежемесячная пропускная способность. Некоторые бюджетные выделенные серверы не включают в себя очень много, и вы в конечном итоге будете платить огромную сумму, как только превысите эту сумму. Для базовой оценки просто возьмите вашу текущую пропускную способность и используйте ее, чтобы рассчитать, сколько пропускной способности потребуется 500 тыс. Просмотров страниц в день.
Вы можете заметить, что я не ответил на два ваших конкретных вопроса, поскольку на них в основном невозможно ответить без глубоких знаний о вашем приложении и конфигурации. Я бы предложил следующие шаги по масштабированию вашего сервера:
- Сравните свой текущий сервер
- Оптимизируйте свой текущий сервер (тестируйте после каждого шага)
- Оцените производительность вашего текущего сервера и максимальную нагрузку с учетом ваших текущих тенденций нагрузки и трафика. Решите, нужно ли увеличивать масштаб.
- Перейдите на выделенный сервер от низкого до среднего.
- Тестируйте новый сервер.
- Отслеживайте загрузку / трафик нового сервера и решайте, когда снова увеличивать или уменьшать масштаб.
Обратите внимание, что даже если вы решили перейти на выделенный сервер, я все равно буду выполнять шаги 1-3. Любая оптимизация VPS будет перенесена на выделенный сервер.