Froschs Blog

Computer und was das Leben sonst noch so zu bieten hat

Zur Website | Impressum

Apache-Workaround in Python

Donnerstag, 15. Dezember 2016

Nach mehreren Tagen in einem wirklich üblen Burnout habe ich nun wieder genug Konzentration zusammen, um an einem Programmierprojekt weiterzuarbeiten. Dabei geht es um einen Workaround für einen durchaus bekannten, acht Jahre alten Bug im Webserver apache, der nicht reproduzierbar ist und daher bislang auch nicht behoben werden kann.

Mir lief dieser Bug zum ersten Mal im Jahr 2009 über den Weg, als apache2 nach dem Upgrade von Debian Etch auf Debian Lenny plötzlich zum Speicherfresser wurde. Auch ein Wechsel des Hosts änderte daran nichts, und ich wechselte ja bis 2010 sogar zweimal. (mehr …)


Spaß mit Swapping (Debian Squeeze, Teil 3)

Montag, 4. November 2013

Das Swapping-Spiel vom Juni geht auf meinem Server unverdrossen weiter. In den letzten Monaten habe ich die Statusmails von stündlich auf viertelstündlich umgestellt, und neben den anderen Ausgaben hänge ich noch die des Swapping-Scripts hintendran. Alle paar Tage starte ich insbesondere apache2 und mysql neu, wegen der Swapperei. Allerdings ging die Load nicht mehr in fliegende Höhen; erst gestern hatte ich eine Spitze von 2.58 gesehen, die sich aber von selbst wieder auf normal einpendelte.

Und heute knallte es wieder. (mehr …)


Spaß mit Swapping (Debian Squeeze, Teil 2)

Montag, 17. Juni 2013

So langsam hat sich die Lage hier auf dem Server wieder beruhigt. Das Hauptproblem war offenbar eine fehlerhafte Einstellung in der Konfigurationsdatei des Webservers; die gleiche, die auch schon 2010 diese Probleme (mit-)verursacht hatte. Aus irgendwelchen Gründen – vielleicht bei einem Upgrade – war die Einstellung MaxRequestsPerChild wieder auf 0 gestanden. Das bedeutet, daß jeder Apache-Prozeß (er macht üblicherweise mehrere Instanzen auf) unbegrenzt viele Anfragen bearbeiten soll. Diesen Wert habe ich wieder auf 500 gesetzt.

Ich bin mir aber nicht sicher, ob das alles war. (mehr …)


apache2 DNS-Resolving reloaded

Montag, 14. Februar 2011

Da lauste mich doch der Affe. Ich stellte vorhin fest, daß der apache2 mir die Hostnamen statt der IP-Adressen ins access.log schreibt, und zwar nur beim VHost des Blogs. Eigentlich steht in der Config, daß er nicht auflösen soll.

Mooooment, dat hatten wir doch schonmal: apache2 liebt DNS-Resolving. Also könnte es auch diesmal wieder an der .htaccess liegen. Und tatsächlich, ich hatte ab Oktober letzten Jahres eine kleine Änderung bei den deny-Einträgen gemacht. Hinter jeden neuen Eintrag hatte ich, abgetrennt durch ein #-Zeichen, also als Kommentar, das Datum des Eintrags geschrieben, um nach jeweils angemessener Zeit überprüfen zu können, ob die IP bzw. der IP-Bereich immer noch Spam-Kommentare in meinem Blog abliefern will.

Mag apache2 etwa keine Kommentare? (mehr …)


Speicherfresser

Mittwoch, 17. November 2010

Als ich vor einem guten Jahr meinen dedizierten kleinen Server aufgab, um auf die VM bei einem Bekannten zu wechseln, hatte ich das vor allem deshalb getan, weil ich ab etwa drei Wochen nach dem Upgrade von Debian Etch auf Debian Lenny ein seltsames Phänomen feststellen mußte: Es lief einfach immer wieder das RAM voll, und wenn der Rechner mal anfangen mußte zu swappen, war er von der Geschwindigkeit her nicht mehr zu gebrauchen. Irgendwann war dann auch der Swap voll, und dann war Ende.

Bei einem der Vorfälle hatte ich noch die Chance, draufzukommen und in die Prozeßliste zu schauen, bevor nichts mehr ging. Dabei stellte ich fest, daß der apache2 übermäßig viel RAM beanspruchte. Die Logs gaben aber keine ungewöhnlich hohen Zugriffszahlen auf die gehosteten Websites und (Wordpress-)Blogs her. (mehr …)


apache2 liebt DNS-Resolving

Mittwoch, 7. Januar 2009

Ich habe gerade eine ausführliche Diskussion mit dem Apache2 hier auf diesem Server. Seit 25.12. um 18:38:37 meint der nämlich, den Eintrag HostnameLookups Off in der apache2.conf ignorieren und möglichst alle IP-Adressen für access.log auflösen zu müssen.

Betroffen sind dabei nur www.atari-frosch.de und blog.atari-frosch.de, nicht jedoch eine weitere Domain, die ebenfalls dort liegt (und keine Subdomain von atari-frosch.de ist).

Die Änderung erfolgte mitten in einer Zugriffsserie von offensichtlichen Adreß-Harvestern. Während der eine unaufgelöst blieb, wurde die IP des anderen nach mehreren Zugriffen ohne Namensauflösung vor der genanten Uhrzeit plötzlich zu einem niederländischen Host aufgelöst.

Googlen war (bisher) erfolglos.

Erfolglos war es weiterhin, die Anweisung HostnameLookups Off nochmal explizit in die VirtualHosts-Datei der betroffenen Domain zu schreiben und dann auch komplett neu zu starten.

Änderungen an der apache2.conf oder an irgendeiner anderen relevanten Datei habe ich in diesem Zeitraum nicht gemacht; zumindest kann ich mich daran nicht erinnern. Erst am 29.12.2008 habe ich einige Dateien editiert, um das CaCert-Zertifikat für https einzubinden. Insofern ist das eine typische „ich hab nix gemacht!!1”-Situation 😉

Ein Update des apache2 kam in der Zeit auch nicht; das letzte Update war laut /var/cache/apt/packages/ am 06.09.2008. Die letzten Updates überhaupt in dem Bereich waren einige perl-Pakete am 19.12.2008. Es bestand also eigentlich überhaupt kein Grund für den apache2, sein Logging-Verhalten zu ändern.

Jemand 'ne Idee?