Рейтинг:0

Apache ограничивает ошибки при масштабировании со многими доменами для приложения Saas

флаг al

**Привет всем ,

Я делаю приложение SaaS, такое как Shopify и ecwid, пользователь создает магазин в течение 10 минут, после регистрации он получает автоматический субдомен с SSL и может добавлять продукты и способы оплаты, категории ... и т. д.

Мы используем Laravel + Mysql + Apache + Cpanel с выделенным сервером. У нас есть выделенный сервер с (AMD Ryzen™ 7 3700X, 64 ГБ ОЗУ) с Centos 7 + WHM/CPANEL

Приложение почти готово и находится на стадии тестирования. В настоящее время пользователь получает поддомен автоматически, но если пользователю необходимо добавить свой собственный домен, мы добавляем этот домен вручную в качестве домена расширения в учетной записи cpanel приложения или автоматически через Cpanel API. Я вижу, что когда я добавляю один аддон, размер домена Apache httpd.conf увеличивается каждый магазин может добавить до 5 доменов.

Например, в настоящее время у нас есть 20 дополнительных доменов, поэтому размер httpd.conf = 144 КБ. если дополнительные домены увеличены до 200, это означает, что размер httpd.conf будет 1440 КБ (1,2 МБ) если дополнительные домены увеличены до 2000, это означает, что размер httpd.conf будет 14400 КБ (14 МБ) если дополнительные домены увеличены до 10 000, это означает, что размер httpd.conf будет 72 000 КБ (72 МБ) это означает, что если у нас есть 10 000 доменов и 10 000 посетителей одновременно, он будет запрашивать httpd.conf размером 72 МБ примерно в 10 000 раз, что приведет к отключению сервера или его очень медленной работе.

1.- Я прав в своих расчетах?

2.- Если я решу сделать балансировку нагрузки, это решит проблему? (учтите, что httpd.conf будет иметь одинаковые дополнительные домены для всех серверов в нашей сети)

3.- Если мы использовали Nginx, это решит проблему?

4. Какой сервер лучше всего подходит для приложений такого типа (Nginx или Apache)?

Благодарность**

vidarlo avatar
флаг ar
Почему вы считаете, что Apache читает httpd.conf при каждом запросе?
vidarlo avatar
флаг ar
Отвечает ли это на ваш вопрос? [Можете ли вы помочь мне с планированием емкости?](https://serverfault.com/questions/384686/can-you-help-me-with-my-capacity-planning)
mo saleh avatar
флаг al
по исследованиям я вижу, что NGinx кэширует домены в хэш-таблице в памяти L1, L2 или L3, но я не знаю, как работает apache для этого момента, что происходит, когда у нас есть 10 000 доменов?
mo saleh avatar
флаг al
@видарло ......
Wilson Hauck avatar
флаг jp
@mosaleh Может быть, попробовать поискать в Google «учебник по apache»?
флаг vn
Прекратите добавлять домены в httpd.conf. Просто пусть ваш сервер отправляет все запросы в одно и то же приложение и обрабатывает имя хоста на уровне приложения; найдите правильный клиент для имени хоста в вашей базе данных.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.