O que são as conexões simultâneas ao banco de dados?

Um acesso ao banco de dados é uma conexão no PHP, Node.JS ou qualquer linguagem de programação.

Se você utiliza um WordPress, por exemplo, toda vez que um usuário abre a sua página inicial, ocorre uma conexão muito rápida ao banco de dados para pegar o conteúdo HTML da sua página e renderizar no navegador. Essa conexão é muito rápida, pois só é buscado conteúdo de texto do banco de dados.

Quando você possui um numero elevado de acessos ao seu site, e o limite de conexões simultâneas ao banco atingir o limite, alguns usuários que tentarem acessar seu site podem visualizar uma mensagem de erro, devido ao site não conseguir fazer novas conexões ao banco para buscar o conteúdo da página. Se isso acontecer, é interessante utilizar um banco de dados com um número maior de conexões simultâneas.

1 curtida

No caso um banco que suporta 25 conexões simultâneas, em torno de quantos acessos podem ocorrer?

Olá, @Lury! Tudo bem?
Dar um número nesse caso é MUITO difícil, pois a diferença do limite entre duas aplicações pode ser de literalmente ordens de magnitude dependendo da lógica delas :eyes:

Só pra deixar claro, isso não quer dizer que apenas 25 pessoas podem acessar o seu site ao mesmo tempo. Isso significa apenas que em um determinado momento, você pode executar 25 comandos para o banco simultâneamente. Uma pesquisa, inserção, edição simples, por exemplo, em uso normal demora meros milissegundos. E normalmente é executado poucas vezes em cada acesso, liberando rapidamente essa conexão para servir outro cliente.

Há aplicações onde algumas páginas não precisam nem efetuar uma conexão com o banco de dados. Uma homepage estática por exemplo. Nesses casos esse limite é irrelevante.

Mas como mencionado anteriormente, há aplicações e há aplicações
Se houver uma aplicação que gere relatórios complexos por exemplo. Que faça uma busca grande, juntando várias tabelas, ordenando muitos elementos etc. pode ser que esse limite seja atingido mais rápido caso tenha vários usuários gerando esses relatórios ao mesmo tempo. Pois nesses casos uma conexão não pode ser liberada enquanto a pesquisa complexa no banco não acabar. Mas esse é um exemplo bem atípico

Entendo!
Mas tem nem ideia do mínimo que 25 conexões suporta? Não precisa de número exato, apenas uma aproximação.

Pois preciso dimensionar minha aplicação e gostaria de ter ideia.

No caso a minha aplicação é de um cardápio digital onde os clientes fazem o pedido na própria mesa ou seja, só quem tá no restaurante acessa. Creio que 25 conexões dê conta, contudo é como te falei, preciso ter mais conhecimento e ter essa “certeza”.

Talvez pense assim o quanto tem omseu restaurante para suportar o pedidos dos clientes, se eles tiverem brocados (tipo um loop) … Aí parceiro pode colocar turnos de 24hrs em loop tbm… Hahaha… Mais perai,… se as pessoas que passam na frente do restaurante? Podem acessar o restaurante e comer muito também (outro loop) então entendo que capacidade e velocidade e espaço e segurança tem que ser replanejando.

@Thigas, putz cara vc tem que rever os conceitos de conexão conexão simultânea com a UMBLER, pq eu tenho uma aplicação de um único acesso e estoura o limite de “conexão simultânea”, no meu caso eu uso o de 50, então na sua explicação na minha aplicação são aceitas 50 pessoas acessarem ao mesmo tempo correto? então me explique pq uma única pessoa acessando o site da este error? sqlMessage: “User ‘kichort_app’ has exceeded the ‘max_user_connections’ resource (current value: 50)”, o legal é que colocar “max_user_connections”, só tem um usuário conectado!!! Por gentileza me explique este erro, pq no meu entender ele está contando quantas vezes este único usuário acessa o banco, atingiu 50, aí dá o erro!!!

Bom dia, pessoal!

Tudo bem?

Então, disponibilizamos um artigo em nosso HELP que explica um pouco melhor a questão relacionada ao número de conexões do banco de dados MySQL! :smile: