Мне поручили проект. Мы размещаем веб-сервис для клиента, который будет обслуживать только статический контент (из файловой системы). Система должна обрабатывать 10 000 подключений одновременно.
Будет база данных для хранения сведений о клиентах, однако я не верю, что сеанс PHP будет продолжаться.
Исходя из вашего прошлого опыта и с учетом статического характера сайта, считаете ли вы, что будет достаточно 2 веб-серверов Apache с балансировкой нагрузки с 8 ГБ ОЗУ, каждый из которых имеет дисковый массив RAID10? Я собираюсь выполнить балансировку нагрузки с помощью одной машины pfSense.
Что касается базы данных, я думал о том, чтобы выбрать один сервер базы данных с массивом RAID10, используя 8 шпинделей, а также 24 ГБ ОЗУ и двухъядерные четырехъядерные процессоры.
Что думают все?
Любые предложения очень ценятся
Спасибо
Редактировать:
Как кто-то указал ниже, «статика» и «база данных» противоречат друг другу. Чтобы прояснить это, база данных будет использоваться исключительно для сбора данных о клиентах (т.е. только для записи). Так что никакой аутентификации или извлечения какого-либо контента из базы данных. Код сайта будет на PHP, но только для этого сбора данных, а также для получения контента из внешнего источника, размещенного в другом месте (через некоторый API).
Обслуживание статического контента обычно измеряется запросами в секунду, а не просто количеством одновременных подключений.
Некоторые сравнения на одном сервере с i3 2,4 ГГц, 4 ГБ ОЗУ, 5400 об / мин диск обслуживает 10000 запросов в секунду для 500 одновременных клиентов, использующих Apache MPM, при использовании nginx цифры превышают 20000 в секунду, независимо от количества клиентов (до 1000).
Возможно, стоит использовать разные серверы (программное обеспечение и, возможно, отдельное оборудование) для действительно статических (HTML) и PHP URL. Для чисто статических файлов HTML и PNG / GIF / JPEG другие типы программного обеспечения httpd-сервера могут работать даже лучше.
Вы можете добиться этого с гораздо меньшей мощностью!
Поскольку у вас есть только статический контент без какой-либо интерактивности базы данных, вы можете решить эту простую задачу даже с одним двухъядерным процессором. Нужен быстрый веб-сервер с обширным кэшированием, и когда не все файлы можно кэшировать, также с быстрым SSD. Так что одиночная машина должна быть в порядке.