Пул БД приложений SaaS влияет на масштабируемость - PullRequest
0 голосов
/ 06 августа 2020

У меня есть приложение SaaS, которое следует за мультитенантным приложением с одной базой данных для каждой модели клиента. В настоящее время у нас 5 арендаторов, итого 5 баз данных (MySQL). Поскольку у разных клиентов разная нагрузка, я использовал разные типы экземпляров для каждого экземпляра базы данных. Таким образом, некоторые БД имеют 32 ГБ ОЗУ, а некоторые - только 8 ГБ.

Мы реализовали пул БД на стороне приложения. Здесь, поскольку это многопользовательское приложение, для всех подключений к БД используется одна и та же конфигурация пула. Но поскольку разные БД имеют разные максимальное количество одновременных подключений к БД , это стало проблемой. Например, БД с ОЗУ 8 ГБ поддерживает максимум 658 подключений, тогда как машина с ОЗУ 32 ГБ поддерживает почти 2400 подключений.

В настоящее время из-за конфигурации во время инициализации достигается только 500 подключений. Но если мы масштабируем, то пострадает БД с 8 ГБ ОЗУ (658 подключений), верно? Как мы можем справиться с этой ситуацией?

Мы планировали использовать отдельную конфигурацию пула для каждого арендатора. Но во время масштабирования нам каждый раз нужно пересчитывать значения объединения перед масштабированием. Есть ли другой способ решить эту проблему?

...