Question Comment augmenter la limite de connexion Apache? (WAMP) [fermé]


Je développe sur un serveur WAMP local, que j’abuse parfois avec des milliers de requêtes ApacheBench [ab]. Cependant, par défaut, il semble qu'apache s'étouffe, puis s'arrête après que mon niveau de concurrence ait dépassé 200 demandes par seconde (lors de l'analyse comparative).

Sur les fenêtres, comment autorisez-vous davantage de connexions (comme 400 tr / s)?

C:\>ab.exe -n 3000 -c 400 http://localhost

:MODIFIER:

Il semble que le fichier httpd-mpm.conf contienne la réponse. Mais je ne sais pas quels paramètres doivent être modifiés ni même quel module apache est exécuté.

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>

# BeOS MPM
# StartThreads: how many threads do we initially spawn?
# MaxClients:   max number of threads we can have (1 thread == 1 client)
# MaxRequestsPerThread: maximum number of requests each thread will process
<IfModule mpm_beos_module>
    StartThreads            10
    MaxClients              50
    MaxRequestsPerThread 10000
</IfModule>

# NetWare MPM
# ThreadStackSize: Stack size allocated for each worker thread
# StartThreads: Number of worker threads launched at server startup
# MinSpareThreads: Minimum number of idle threads, to handle request spikes
# MaxSpareThreads: Maximum number of idle threads
# MaxThreads: Maximum number of worker threads alive at the same time
# MaxRequestsPerChild: Maximum  number of requests a thread serves. It is 
#                      recommended that the default value of 0 be set for this
#                      directive on NetWare.  This will allow the thread to 
#                      continue to service requests indefinitely.                          
<IfModule mpm_netware_module>
    ThreadStackSize      65536
    StartThreads           250
    MinSpareThreads         25
    MaxSpareThreads        250
    MaxThreads            1000
    MaxRequestsPerChild      0
    MaxMemFree             100
</IfModule>

# OS/2 MPM
# StartServers: Number of server processes to maintain
# MinSpareThreads: Minimum number of idle threads per process, 
#                  to handle request spikes
# MaxSpareThreads: Maximum number of idle threads per process
# MaxRequestsPerChild: Maximum number of connections per server process
<IfModule mpm_mpmt_os2_module>
    StartServers           2
    MinSpareThreads        5
    MaxSpareThreads       10
    MaxRequestsPerChild    0
</IfModule>

# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum  number of requests a server process serves
<IfModule mpm_winnt_module>
    ThreadsPerChild      450
    MaxRequestsPerChild    0
</IfModule>

4
2018-01-24 23:05


origine




Réponses:


La solution consiste à supprimer le commentaire de la configuration MPM incluse dans httpd.conf.

# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf 

Puis localisez le mpm_winnt_module et changez le nombre de threads de 250 à tout.

<IfModule mpm_winnt_module>
    ThreadsPerChild      1000
    MaxRequestsPerChild    0
</IfModule>

13
2018-01-25 04:41



Génial! Il a également fonctionné sous XAMPP. - shasi kanth
Y a-t-il une limite à définir ThreadPerChild , comment puis-je calculer le nombre à définir selon ma RAM - Shrikant


pour vérifier l'état de votre configuration, ajoutez le module mod_status.so.

 <location /server-status>
    SetHandler server-status
    Order Deny,Allow
    Deny from all
    Allow from all
</location>

puis vérifiez la http: // domaine / statut-serveur, trouver le fil de travail, en ajustant votre configuration.


2
2018-05-07 02:48