Нет никаких жестких ограничений на мои знания. Наш опыт показывает, что существуют серьезные проблемы с производительностью, когда у вас более тысячи объектов безопасности (пользователей, ролей, схем). У нас есть несколько случаев поддержки по этому поводу. До сих пор нам удавалось выработать некоторые моменты, которые влияют на производительность:
- Проблемы с производительностью усугубляются, когда объекты безопасности сильно меняются. Существует некоторый тип кеша, который очень помогает, если объекты безопасности меняются не часто.
- Проблемы с производительностью усугубляются, когда сложен график безопасности. Само количество пользователей / ролей менее важно, чем их отношения (например, пользователь А имеет разрешение на 1000 ролей, каждая из них имеет разрешение на 100 других ролей)
- Использование нескольких баз данных не имеет никакого эффекта (кроме предыдущего точка).
- Масштабирование хранилища имеет ограниченный эффект, поскольку вы можете компенсировать «отставание» в запросах DCL / DDL, ускоряя выполнение запросов DQL / DML.
- Производительность облачной защиты функции сильно различаются - вы можете иметь среднее значение 200 мс на один запрос в одной базе данных в течение нескольких дней, а затем оно возрастает до среднего значения 500 мс и остается там в течение нескольких дней.
Интересно, что служба поддержки постоянно говорит нам, что мы являемся единственным клиентом, испытывающим подобные проблемы.