Я использую виртуальный хостинг, для которого максимальное число пользовательских подключений установлено на 30. Я связался с ними, и они сказали, что не могут изменить это значение. Просматривая мой веб-сайт, я получаю исключение, которое говорит:
SQLSTATE[42000]: Syntax error or access violation: 1203 User id12578877_odonto already has more than 'max_user_connections' active connections
Большинство действий в моем вебе - это просто репозитории (которые были созданы с помощью команды make: crud), фильтрующие некоторые данные. При быстром переключении между этими страницами в течение 30 с я получаю эту ошибку.
Можно ли как-нибудь уменьшить количество соединений или просто сделать что-нибудь, что могло бы помочь?
Вот пример того, как выглядят некоторые действия в моем контроллере:
/**
* @Route("/", name="pacientai_index", methods={"GET"})
*/
public function index(PacientaiRepository $pacientaiRepository): Response
{
if($this->getUser()==null){
return $this->redirectToRoute('main');
}
if($this->getUser()->getRole()=="NEW"){
return $this->redirectToRoute('main');
}
if($this->getUser()->getMiestas()=="London"){
return $this->redirectToRoute('main');
}
return $this->render('pacientai/index.html.twig', [
'pacientais' => $pacientaiRepository->findByStatus("NEW"),
'sutarti' => $pacientaiRepository->findByStatus("SUTARTAS"),
]);
}
/**
* @Route("/mine", name="pacientai_index_mine", methods={"GET", "POST"})
*/
public function myPatients(PacientaiRepository $pacientaiRepository, UserRepository $userRepository): Response
{
if($this->getUser()==null){
return $this->redirectToRoute('main');
}
if($this->getUser()->getRole()=="NEW"){
return $this->redirectToRoute('main');
}
if($this->getUser()->getMiestas()=="London"){
return $this->redirectToRoute('main');
}
$entityManager = $this->getDoctrine()->getManager();
$entity = $this->getDoctrine()
->getRepository(User::class)
->find($this->getUser()->getId());
$entity->setYraNauju(0);
$entityManager->persist($entity);
$entityManager->flush();
return $this->render('pacientai/myPatients.html.twig');
}
Я что-то здесь не так делаю, что может вызвать это?
Я получил эту ошибку при тестировании только с одним пользователем. Стало бы еще хуже, если бы, скажем, к веб-сайту было подключено 20 пользователей?
Если есть слишком много открытых соединений, как я могу сделать так, чтобы все запросы были от одного соединения?