Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

  • Mooya
  • Registratie: November 2001
  • Laatst online: 22-11 23:07
Situatie:
Bij een klant hebben een intranet draaien op een Windows 2012 server met daarop WAMP.
Er loggen ongeveer 150 users in op het intranet.
Het intranet draait op https via een geldig certificaat.
Poort 80 is ook gestart, maar dan wordt een forwarder geopend die de user doorstuurt naar de https versie.

Probleem:
Nou ben ik een tijd aan het testen geweest en afgelopen maandag is het intranet beschikbaar geworden voor de organisatie.
Rond 09:00 uur was het intranet niet meer te openen. Er bleef een lege pagina in beeld, en de pagina werd nog steeds geladen.
Na een herstart van de Apache service werkt alles weer.
Na een tijdje lag de site er weer uit.
Op de http site draait ook een phpmyadmin site (localhost only). Deze is wel te benaderen.
In de logboeken vind ik helemaal niks van een fout.
Het lijkt er ook op dat de site het uit zichzelf weer gaat doen na een aantal uur. (vannacht was de site ook niet te benaderen, en na een paar uur was dat opgelost)

Al gedaan:
Ik heb de httpd.conf nagelopen, en hier deze regel geactiveerd:
code:
1
Include conf/extra/httpd-mpm.conf


In het bestand httpd-mpm.conf heb ik heb volgende aangepast:
code:
1
2
3
4
5
6
<IfModule mpm_winnt_module>
    ThreadStackSize        8388608
    #ThreadsPerChild        150 //originele waarde
    ThreadsPerChild        2500
    MaxConnectionsPerChild   0
</IfModule>


Zodra ik nu Apache herstart komt er wel een alert in het Apache logboek,
code:
1
2
3
4
5
6
7
8
9
[Wed May 14 14:16:31.503292 2014] [mpm_winnt:notice] [pid 9804:tid 464] AH00422: Parent: Received shutdown signal -- Shutting down the server.
[Wed May 14 14:16:33.550011 2014] [mpm_winnt:notice] [pid 10180:tid 360] AH00364: Child: All worker threads have exited.
[Wed May 14 14:16:33.596915 2014] [mpm_winnt:notice] [pid 9804:tid 464] AH00430: Parent: Child process 10180 exited successfully.
[Wed May 14 14:16:34.518660 2014] [mpm_winnt:warn] [pid 9240:tid 468] AH00445: ThreadsPerChild of 2500 exceeds ThreadLimit of 1920, decreasing to match
[Wed May 14 14:16:35.237365 2014] [mpm_winnt:notice] [pid 9240:tid 468] AH00455: Apache/2.4.4 (Win64) OpenSSL/1.0.1e PHP/5.4.12 configured -- resuming normal operations
[Wed May 14 14:16:35.237365 2014] [mpm_winnt:notice] [pid 9240:tid 468] AH00456: Server built: Feb 22 2013 22:08:37
[Wed May 14 14:16:35.237365 2014] [core:notice] [pid 9240:tid 468] AH00094: Command line: 'c:\\wamp\\bin\\apache\\apache2.4.4\\bin\\httpd.exe -d C:/wamp/bin/apache/Apache2.4.4'
[Wed May 14 14:16:35.237365 2014] [mpm_winnt:notice] [pid 9240:tid 468] AH00418: Parent: Created child process 9168
[Wed May 14 14:16:36.784170 2014] [mpm_winnt:notice] [pid 9168:tid 364] AH00354: Child: Starting 1920 worker threads.


Dus er worden nu geen 2500 threads, maar 1920 geopend.
Dat is dus nog steeds veel meer dan de standaard 150.
Maar ik zie geen verbetering.
De site klapt er toch nog soms uit, en ik kan nergens een fout vinden.

Wie heeft nog een idee?

  • SadisticPanda
  • Registratie: Februari 2009
  • Niet online

SadisticPanda

Heet patatje :o

2500 workers spawnen is niet echt de oplossing. 150 gebruikers op het internet zou elke server moeten kunnen (of je moet wel heel dodelijke paginas/queries/.. lopen hebben..

150 gebruikers moet die met 2 vingers in de neus kunnen server. Probeer es je MaxConnectionsperchild op 10 ofso te zetten, dan killed die de processen. En start die sneller nieuwere (tegenover 0 en nooit killen)

"ThreadsPerChild of 2500 exceeds ThreadLimit of 1920, decreasing to match" -> dat verklaard waarom die maar max 1920 threads kan spawnen. Begin al met terug op de std. waarden te zetten, 2500 is nergens voor nodig.

Als de server hangt, komt daarvan iets in logboek?

Marstek 5.12kw v151, CT003 v117, Sagecom Xs212 1P,


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 13:30
Zorg eerst eens dat die oude zooi wordt geupgrade. Je draait nu iets waarbij zowel Apache, PHP als OpenSSL zo lek als een mandje zijn. Je OpenSSL heeft onder andere nog last van de heartbleed bug.

Verder zal je moeten kijken wat de fouten zijn waar je tegenaan loopt. Threads verhogen zonder te weten wat je doet is nooit de oplossing. Kijk waarom er zoveel threads tegelijk actief zijn:
- wat doen je keepalive settings
- gebruik je zware PHP scripts die langere tijd nodig hebben
- gebruik je wel een opcode cache als PHP veel gebruikt wordt (hoe sneller je client weg is, hoe sneller je weer een thread hebt voor iets anders)
- wat gebruikt mod_ssl als random seed? Lijkt op iets dat blocking is, als je veel SSL doet gaat dat ophangen. Logs kunnen je waarschijnlijk meer zeggen.

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Wat is een forwarder? Bedoel je een echte redirect, of doe je nog iets speciaals daarmee?
Daarnaast, als je paginas wel werken - hoe snel is zo'n pagina dan gemiddeld? Is dat een paar ms, of loopt dat eerder in de secondes?

  • Mooya
  • Registratie: November 2001
  • Laatst online: 22-11 23:07
thnx voor de reacties. Beetje late reactie van me..

Maar het is gelukt door het volgende toe te voegen aan de httpd.conf:

code:
1
2
AcceptFilter http none
AcceptFilter https none