Tagesarchiv für den 20. April 2007

Domainpathologie

Freitag, den 20. April 2007

Oder auch “Karteileichensuche”.

Nachdem ich mal wieder in der Abrechnung von unserem Registrar Domains entdeckt habe, die ich sicherlich noch nicht dem entsprechenden Kunden in Rechnung gestellt hatte, habe ich eine kleine SQL-Anfrage erstellt. Diese holt alle Domainnamen aus der Datenbank und prüft, für welche Domain noch kein Datensatz in der Abrechnungs-Tabelle existiert. Das Ergebnis ist also eine Liste von Domains, die noch nie abgerechnet wurden.

Ich weiß gar nicht, wieso ich diese Abfrage noch nicht früher erstellt hatte - jedenfalls bekommen nun einige Kunden in den nächsten Tagen Post von uns. Ich hoffe, manche von denen können sich vor allem überhaupt noch an uns erinnern! ;-)

Was die Nachberechnung von seeehr lange fehlenden Domainposten betrifft lasse ich da übrigens Gnade walten - es wird nur der jeweils aktuelle Abrechnungszeitraum berechnet. Es wird also niemand eine Nachberechnung über mehrere Jahre oder so bekommen. Schließlich soll sich die versäumte Rechnungserstellung nicht zum Nachteil der betroffenen Kunden auswirken.

Lernen von den Meistern

Freitag, den 20. April 2007

Für eine ganz bestimmte Anwendung habe ich nach einem technologischen Lösungsansatz gesucht. Es ging dabei um eine ziemlich spezielle Sache - im Grunde wie man auf Windows-Systemen von einem Programm aus den I/O eines anderen Programmes zuverlässig kontrollieren kann. Das ist leider nicht ganz so trivial wie auf Unix-Systemen (dank Pseudo-Terminals), aber es geht. Es muss gehen. Irgendwie.

Also habe ich mich schrittweise vorangearbeitet, die relevanten WIN32-API-Befehle herausgefunden und nach Beispielcode gegoogelt. Schließlich fand ich quasi den perfekten Anwendungscode, also genau das was ich gesucht hatte. Programmiert in zuckerfeinem C, dezent dokumentiert, ohne Geschnörksel. Keine 1000 Zeilen Programmcode, die compilierte Executable nur wenige Kilobyte groß. Was war das nur für ein Programm? … Der Quellcode eines Trojaners! :cool:

Ich muss schon sagen - DAS war sicher nicht die Arbeit eines “Script-Kiddies”, sondern über eine über etliche Programmversionen hinweg optimierte Arbeit eines oder mehrerer Profis. Egal - ich will ja schließlich keinen Trojaner schreiben, aber der Code hat mir bei meinen Aufgaben definitiv weitergeholfen. :-)

“Der Server ist etwas zäh…”

Freitag, den 20. April 2007

Am Dienstag Abend meldet unser Monitoring eine überaus hohe Antwortzeit bei einem der Webserver. Ich habe mich also per SSH auf der Maschine angemeldet und nach der Ursache gesucht. Die Server-Last lag nur bei etwa 15%, der Speicherverbrauch und auch die I/O-Werte waren im grünen Bereich. Aber der Apache-Webserver hat das Maximum der möglichen gleichzeitigen Prozesse erzeugt gehabt. Also - Logfiles durforstet und keine wirklich auffälligen Fehlermeldungen gefunden, außer das manche Clients nach einer bestimmten Zeit die Verbindung dann von sich aus beendet haben.

Es hat letztendlich rund 20 Minuten gebraucht, bis ich nach mehreren Apache-Neustarts und Beobachtungen dessen error_log-Datei das Problem identifiziert hatte: ein Kunde hat an dem Abend ein paar Domainweiterleitungen eingerichtet, und zwar mit der Proxy-Methode (d.h. die ursprüngliche Domain bleibt in der Adresszeile erhalten, und der Server holt über das Proxy-Modul die Inhalte von der Zieladresse ab). Dummerweise hat er dann sinngemäß folgendes eingetragen: “Für die Domain ###.de gilt: rufe alle Inhalte per Proxy von ###.de ab”. :grr:

Als dann noch just in diesem Moment genau dieser Kunde eine Mail mit dem Hinweis “Der Server ist etwas zäh…” geschrieben hat war mir klar, dass das so nicht weitergehen kann…

Die Konsequenz: unsere neue Admin-Software bekommt einen kleinen Pfadsuchealgorithmus verpasst, um Schleifen durch solche Weiterleitungen zukünftig zu erkennen und entsprechend abzuweisen. :-)
(Es reicht nicht, nur Weiterleitungen von einer Domain auf die gleiche Domain zu verhindern, schließlich könnte man das gleiche Problem sonst durch zwei Weiterleitungen in der Form Domain1.de->Domain2.de, Domain2.de->Domain1.de auch provozieren).

Kundenbindung

Freitag, den 20. April 2007

Eine immer beliebtere Form der langfristigen “Kundenbindung” sind lange Vertragslaufzeiten. Ein Mitbewerber (naja… eher ein Marktführer in dem Bereich ;-) ) hat nun bei allen beworbenen Hosting-Paketen Vertragslaufzeiten von 24 (!) Monaten. Wünscht man eine kürzere Vertragslaufzeit (6 Monate), so erhöhen sich die monatlichen Kosten um einen Euro.

Vielleicht hängt das damit zusammen, dass wir immer mehr Kunden von diesem Anbieter (2) zu uns umziehen, und die keinen anderen Weg mehr sehen ihre Kunden länger da zu behalten? ;-)

Ich finde solche Mindestlaufzeiten jedoch nicht erstrebenswert. Zum einen: wer möchte sich denn im heutigen extrem schnelllebigen Technologie-Markt für mindestens zwei Jahre auf ein bestimmtes Leistungspaket festlegen? Und zum anderen: wenn die Kunden mit Preis und Leistung wirklich zufrieden sind, bleiben sie von alleine - und das auch viel länger als zwei Jahre. Wenn ein Kunde vorher kündigen möchte, hat das seinen Grund - und dann hilft es auch nicht wirklich ihn länger als nötig an sich zu fesseln…

Viel zu tun

Freitag, den 20. April 2007

Erstmal sorry für die etwas übersichtlichen Beiträge - die letzten Tage kam ich einfach überhaupt nicht zum bloggen. Dafür gibt es demnächst einen wie ich denke recht interessanten Zeitschriftenartikel (was & wo verrate ich erst wenn’s gedruckt ist ;-) ), ein Kunde hat einen Webserver fast abgeschossen (dazu später mehr), ich war in Sachen Business Plan unterwegs (mehr dazu in einigen Monaten) und abends war das Wetter einfach so schön, daß ich lieber gegrillt habe und auf der Terasse gesessen bin als Blog-Einträge zu tippen. :-)