Я планирую разместить веб-сайт, на первом этапе которого я нацелен на 30 000 пользователей. Он находится на php и работает на сервере Apache. Я предполагаю, что 8000 пользователей могут быть онлайн в худшем случае, и 1000 из них будут загружать фотографии.
Размер фотографии будет уменьшен до 1 МБ на стороне клиента, и один HTTP-запрос загружает только одну фотографию.
Мой план:
Мой вопрос здесь
Я бы порекомендовал вам начать с большого (балансировщик нагрузки Amazon с 2 большими инстансами, а затем, если ресурсы все еще свободны после большой нагрузки, вы можете уменьшить масштаб после этого. потому что, если вы начнете с маленького экземпляра, и если он не смог выберите нагрузку (которая имеет большую вероятность), тогда пользователи столкнутся с простоями (когда вы будете обновляться до среднего или большого экземпляра), и если этот экземпляр все еще не выполнил ваш запрос, вам придется повторить этот шаг снова. к лучшему и подготовиться к самому ХУДШЕМУ. Я сам разместил сайт с примерно 10 000 до 15 000 пользователей, для чего мне пришлось использовать 6 больших экземпляров сервера apache и один большой MySQL RDS. Сейчас загрузка в порядке, поэтому мы может потребоваться удалить 1-2 экземпляра из балансировщика нагрузки. но представьте, если бы я сделал 2-3 небольших экземпляра? сразу после того, как придет нагрузка, серверы вылетят.
(Не беспокойтесь слишком сильно о цене, так как Amazon, безусловно, взимает с вас плату за то, что вы используете, но плата взимается на почасовой основе, и эти расходы не такие уж большие, которые вы не можете себе позволить.
НЕОБХОДИМО запустить тест вашей установки перед запуском, вы можете использовать Apache JMeter, HP loadtester, AB (тест apache).
Мой совет - использовать службу, которая запускает экземпляры для вас и позволяет добавлять больше экземпляров по мере роста трафика.
Мы используем Scalr, для этого есть также rightscale, heruko makara, cloud Foundry и другие. Вам будет проще перейти на EC2, если вы будете использовать готовые AMI из службы управления облаком, а не разрабатывать свое приложение, а затем думать о том, как преобразовать его в среду управления облаком.
Я думаю, вам следует начать с микро-экземпляра, они указаны для включения в вашу подписку на AWS, но будьте осторожны; Amazon взимает плату за все. Затем, когда спрос на ваш сайт возрастет, разверните больше экземпляров и используйте балансировщик нагрузки.
просто мой совет.