Em uma pilha LAMP, como limitar o número de conexões simultâneas e servir uma página estática para aqueles que estão além desse limite?

3

Estou ciente das diretivas do Apache MaxClients e ListenBacklog . Eu estou tentando definir um limite de, digamos 100 conexões simultâneas após o qual as novas conexões serão servidas uma página estática. Isso pode ser feito? O MaxClients e ListenBacklog devem ser maiores ou menores que esse limite? Como posso testá-lo?

    
por Valentin Brasso 13.06.2012 / 23:25

2 respostas

0

Veja como eu fiz: Digamos que eu queira permitir X solicitações simultâneas, após as quais as seguintes solicitações simultâneas de Y permanecerão em uma fila, aguardando que o primeiro X termine, e tudo que exceder X + Y será exibido em uma página estática:

  1. Em httpd.conf , as seguintes diretivas devem ser definidas:

    MaxClients X
    ServerLimit X
    ListenBacklog Y
    
  2. Registrado como root no MySQL, defina max_connections :

    set global max_connections = X
    
  3. Edite o arquivo .htaccess da pasta raiz pública do seu servidor:

    ErrorDocument 503 error_503.html
    
  4. Certifique-se de que seu error_503.html seja exibido em uma solicitação. Todas as folhas de estilo e scripts devem estar neste arquivo. Se você quiser incluir imagens, terá que usar o esquema de dados uri . Além disso, você precisará dividir suas imagens porque, no IE, os URIs de dados precisam ser menores que 32 KiB.

por 23.06.2012 / 19:22
3

Se o Apache não puder aceitar a conexão de entrada porque ela já está lidando com MaxClients, ela não poderá exibir uma página estática. Então, eu não tenho nenhuma evidência, mas não vejo como você poderia conseguir isso apenas com o Apache. Você pode colocar algo na frente do Apache que retorna uma página estática se o Apache retornar uma falha de conexão, mas parece muita configuração complexa para mim. Espero que alguém vá provar que estou errado.

    
por 13.06.2012 / 23:34