Ситуация: Есть API, в нём метод для добавления данных, который обёрнут Mutex'ом для избежания "состояния гонки". Один из пользователей API в один момент 2-3 раза в день делает сотни обращений для добавления данных.
Проблема: Как результат, все запросы пользователя ставятся в очередь Mutex и обрабатываются.
Из-за этого забиваются подключения к базе данных и другие пользователи не могут получить доступ:
"PDOException: SQLSTATE[HY000] [1040] Too many connections in ...
Вопрос: Как решить проблему, чтобы для других пользователей оставались подключения?
Условия:
1. Из-за соображений безопасности не хочется выставлять большой max_connections(сейчас он 500). Тем более ситуация возникает 2-3 раза в день. Возможно стоит создать для API отдельного пользователя БД и выставить там ~1000-2000 подключений?
2. Со стороны клиента(пользователя API) ничего изменить нельзя. В том числе попросить слать меньше запросов в один момент.