Toon posts:

Linux server geeft _soms_ timeouts

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik omschrijf mijn problemen altijd het liefst uitgebreid, dus zal ik dat nu ook maar doen.

Ik heb in Amsterdam een servertje staan bij de provider Denit. Het is een Celeron P4 2.4GHz met 256MB intern en twee 40GB ataraid hdd's. Op deze server zit ik een applicatie te testen, maar ik heb elke dag geregeld momenten dat de server helemaal niet reageert in mijn browser. Op hetzelfde moment kan ik er met SSH op ingelogd zijn en kan ik wel dingen typen en zie ik ook echt output. Andere personen die de boel testen hebben ook vaak last van timeouts. Ik heb op diverse fora en nieuwsgroepen gelezen, documentatie van de diverse services doorgenomen etc, maar ik kan er maar niet achter komen wat er mis is.

Specificatie van server (software die wordt genoemd is handmatig gecompileerd, eventuele afwijkingen van default settings worden vermeld):
* Debian 3.0r1 woody
* custom kernel 2.4.25 (alleen onnodige meuk als USB etc uitgehaald, niets spannends)
* OpenSSL 0.9.7c
* Apache 1.3.29, met mod_ssl-2.8.16. Apache is gecompileerd met shared module support (Apache draait met 'startssl').
* MySQL 4.0.18 (gecompileerd met "CC=gcc CXX=gcc" en zonder debugging). Wordt gestart met --skip-networking flag.
* PHP 4.3.4, met eigen GD 2.0.22. PHP heeft mysql, ssl, ftp, gettext, wddx en sockets support.
* ImageMagick 5.5.7
* OpenSSH-3.8p1
* ProFTPd-1.2.9
* Zabbix agent 1.0b14

Apache, sshd, zabbix_agentd, mysqld draaien als daemon, terwijl proftpd in de inetd staat.

De applicatie waar mee wordt getest bestaat uit PHP code met MySQL verbindingen. Het aantal connecties naar MySQL ligt niet hoog en de code is niet zwaar. De server heeft geen swap. De load van de server heb ik nooit hoog gezien (ook niet als hij niet reageert in de browser, staat de cpu usage altijd op >99% idle). Vrije geheugen heb ik nooit onder de 80MB gezien (5MB vrij, 75MB buffers).

Ik weet niet of ik het nog completer kan omschrijven.. ik wordt in ieder geval flink ziek van dit probleem en ik hoop dat er hier iemand is die wat hints of misschien zelfs een oplossing kan geven. Mocht je meer informatie nodig hebben, wil ik je hier gerust van voorzien, want ik wil dit probleem de wereld uit hebben.

Bij voorbaat dank aan een ieder die wil helpen!

  • Wilke
  • Registratie: December 2000
  • Laatst online: 19:24
Verwijderd schreef op 25 maart 2004 @ 11:17:
Het is een Celeron P4 2.4GHz met 256MB intern. De server heeft geen swap.
Bedankt voor de uitgebreide omschrijving, zo kunnen we er tenminste wat mee ;)

Hierboven heb ik het stukje aangehaald waar ik misschien een probleem zou verwachten.. Misschien is er te weinig geheugen, hoewel het vreemd is dat free aangeeft dat er nog zat buffer-ruimte is.

In ieder geval is onafhankelijk van of het in dit geval het probleem vormt, deze setup niet optimaal. 256 MB RAM is weinig, zeker voor een server waarop verschillende services/daemons draaien. Om dat nog erger te maken, heb je ook geen swap gemaakt. Om te beginnen zou ik vandaag de dag zorgen dat er minimaal 1GB virtueel geheugen (dat is dus mem+swap) beschikbaar is. 512 MB RAM + 512 MB swap is wel okee bijvoorbeeld. Natuurlijk hangt dat een beetje af van of het nodig is, 256 MB RAM (wat je al hebt) + 512 MB swap zal ws. ook zat zijn als die server nog weinig doet.

Waarom je zelfs swap wilt als je bergen geheugen er in hebt? Omdat het systeem er sneller van wordt. Klinkt raar? Je zou verwachten dat swap helemaal niet gebruikt wordt als er zat geheugen is? Dat hoeft niet per se zo te zijn: als er geheugen-pagina's zijn die al in geen eeuwen meer aangesproken zijn (bv. stukken data van een prog dat niks doet de meeste tijd), kan Linux deze op een gegeven moment uitswappen, zodat er meer nuttig beschikbare ruimte is, bv. voor disk buffers (als je aardig wat data in MySQL hebt blijft dat in het geheugen zitten, bv). Daarom wil je altijd swap, ook al is er in principe ruimte zat.

Zie ook deze posting en de swap mini HOWTO voor wat meer uitleg.

Nog een tip: aangezien je zei dat er met SSH e.d. geen problemen waren (ook niet terwijl de browser hangt), probeer eens 'vmstat 1' te draaien en deze uitvoer naar een bestand te loggen? (vmstat 1 > output.txt; tail -f output.txt). Ik ben wel benieuwd of daar nog wat aan te zien is op het moment dat het systeem raar doet, misschien blockt de boel op I/O of iets dergelijks :?

Oh, en ik neem aan dat er in geen enkele log iets boeiends verschijnt op het moment dat de machine raar doet?

Verwijderd

Topicstarter
Bedankt voor de reactie ^_^

over de logs, hier vind ik buiten de gebruikelijke cron en auth dingen weinig terug. Maar toen je dat noemde bedacht ik me het volgende nog, wat ik een beetje vreemd vond:

code:
1
2
Mar 25 13:05:32 server proftpd[21924]: server.mijndomein.nl (localhost[127.0.0.1]) - FTP session opened.
Mar 25 13:05:32 server proftpd[21924]: server.mijndomein.nl (localhost[127.0.0.1]) - FTP session closed.


die regel verschijnt om de minuut in het /var/log/daemon.log logbestand. Hier heb ik echter nog niet naar gezocht in de ProFTPd docs, waar ik het misschien wel in terug kan vinden.

ik zal vmstat eens draaien en letten op de output, bedankt voor die tip!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Je draait dus geen firewall met eventuele logfiles die je kunt inzien? Komen de requests van je browser wel bij de server aan? (`tcpdump -port 80`), of helemaal niet?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Inderdaad. Kijk ook in de logs van apache of de timeout tussen de request en de reply zit, of dat de webserver de request te laat ontvangt.

  • Egbert
  • Registratie: Juni 1999
  • Laatst online: 12-12-2025
Bij dit soort dingen geef ik standaard DNS de schuld. Doet apache dns-queries om ipv een ip een hostname in zn logs te schrijven?

Verwijderd

Topicstarter
Bedankt voor de reacties.

Er draait geen firewall voor en de requests komen wel degelijk op de server aan. Echter op sommige momenten (ik merk het zelf zelden, omdat ik alleen test-versies op de server zet die anderen testen) is de server gewoon niet te bereiken, voor 30sec - 2 minuten. Daarna vliegt alles er weer vrolijk door.

Ik heb nu in een SSH verbinding gewoon permanent vmstat aan staan om te kijken of er wat vaags gebeurd, zodra er weer timeouts komen (ik heb gevraagd aan de testers om mij direct te bellen als het zich weer voordoet). De tcpdump zal ik dan ook proberen.

Het lijkt mij geen DNS probleem, omdat ik het resolven van de hostname in Apache uit heb gezet.

Wat ik mij echter nog wel bedacht, de netwerkadapter is een onboard intel chip, die niet standaard door 2.4 herkent werd. Ik heb hiervoor een module van de Intel site moeten downloaden en compileren. Wellicht is dit ding nog ietwat buggy (zal ik vandaag nog naar zoeken). De chip is in ieder geval de 82562ET van Intel.
Pagina: 1