(gelöst) Performanceprobleme Internetserver - begrenzte Anzahl an Auftritten?
Eingetragen von MeXxX (64)
am 26.11.2012 - 16:29 Uhr in
am 26.11.2012 - 16:29 Uhr in
Hallo zusammen,
mittlerweile haben wir über 120 Internetauftritte auf unserem Server.
Bis vor einem Jahr ist noch alles flüssig gelaufen.
Die letzten Wochen haben wir ziemlich Performance Probleme und immer wieder Auslastungen von 100%.
Gibt es hier eine Faustregel, wie viele Drupal-Auftritte man auf einem Server haben sollte?
Ist es ratsam einen 2. Server zu erstellen und die Auftritte aufzuteilen 60/60?
Die mysql Datenbanken sind mittlerweile auch 3,65 GB groß.
Könnte es sein das es einfach zu lange dauert Informationen aus diesen Datenbanken aufzurufen?
VG
MeXxX
- Anmelden oder Registrieren um Kommentare zu schreiben
wahrscheinlich
am 26.11.2012 - 20:03 Uhr
Liegt es nicht an der Größe der Datenbanken oder Anzahl der Domains, sondern eher an der Anzahl gleichzeitiger Zugriffe.
Eine Trennung des WEB-Servers vom Datenbankserver kann auch einiges bringen.
Der Hauptspeicher ist nach wie vor ein wichtiger Faktor für die Performance.
Betriebssystem und Dienste spielen natürlich auch eine Rolle.
Zitat: Liegt es nicht an der
am 27.11.2012 - 07:46 Uhr
Liegt es nicht an der Größe der Datenbanken oder Anzahl der Domains, sondern eher an der Anzahl gleichzeitiger Zugriffe.
Es gibt auf jeden Fall bestimmte Zeiten, an denen der Internetserver besonders ausgelastet ist.
Eine Trennung des WEB-Servers vom Datenbankserver kann auch einiges bringen.
Werde ich ausprobieren.
Der Hauptspeicher ist nach wie vor ein wichtiger Faktor für die Performance.
Das komische war, dass sobald die Anzahl der CPU´s oder der Arbeitsspeicher erhöht wird, die Auslastung sofort auf 100 % springt und eigentlich gar nicht mehr runterkommt sodass die Seiten gar nicht mehr verfügbar sind.
Selbes Spiel mit dem Arbeitsspeicher. Komisch oder?
Werden CPU´s und Speicher auf den Ausgangswert zurückgesetzt, funktioniert wieder alles.
Betriebssystem und Dienste spielen natürlich auch eine Rolle.
Das Ganze läuft auf einem Windows Server 2003 R2.
Der Apache Dienst bring die größte Auslastung mit sich. Könnte hier evtl. ein Update helfen?
Xampp Version 1.6.4 ist hier installiert.
Im Ereignisprotokoll steht hauptsächlich folgende Meldung:
Ereignistyp: Fehler
Ereignisquelle: Application Error
Ereigniskategorie: (100)
Ereigniskennung: 1000
Datum: 26.11.2012
Zeit: 20:51:13
Benutzer: Nicht zutreffend
Computer: BMR-INTERNET
Beschreibung:
Fehlgeschlagene Anwendung apache.exe, Version 2.2.6.0, fehlgeschlagenes Modul ntdll.dll, Version 5.2.3790.4789, Fehleradresse 0x0002a812.
Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.
Daten:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 61 70 61 ure apa
0018: 63 68 65 2e 65 78 65 20 che.exe
0020: 32 2e 32 2e 36 2e 30 20 2.2.6.0
0028: 69 6e 20 6e 74 64 6c 6c in ntdll
0030: 2e 64 6c 6c 20 35 2e 32 .dll 5.2
0038: 2e 33 37 39 30 2e 34 37 .3790.47
0040: 38 39 20 61 74 20 6f 66 89 at of
0048: 66 73 65 74 20 30 30 30 fset 000
0050: 32 61 38 31 32 2a812
Ab und zu wird der Apache Dienst auch unerwartet beendet, wird aber gleich wieder automatisch gestartet.
ein dedizierter Linuxserver
am 27.11.2012 - 08:31 Uhr
kann hier wahre Wunder bewirken.
Bei Windows läuft zu viel Zeugs mit.
Ein Linuxserver braucht nicht einmal eine graphische Oberfläche, die massiv Performance frisst.
Es gibt schon Gründe, warum professionelle Hoster ihre Maschinen unter UNIX/Linux betreiben.
Bei sehr großen, oder vielen Datenbanken, kann ein zweiter Server, der ausschließlich mySQL betreibt, sinnvoll sein.
Wichtig ist dabei natürlich ein schneller Backbone zwischen den Servern.
Die Frage lässt sich so
am 27.11.2012 - 09:55 Uhr
Die Frage lässt sich so pauschal nicht sinnvoll beantworten. Die Massenhoster hauen auf ihre Hardware schon mal eine fünfstellige Anzahl von Accounts pro Server incl ggf. mehrerer Seiten/Systeme pro Account während andererseits mehrere Server für eine Seite nötig sein können.
Ich würde mir an dieser Stelle überlegen zu einem Dedizierten Drupal Hosting Anbieter oder einem Managed Linux Server zu wechseln. 90% aller Drupal Nutzer setzen auf Linux, d.h. hierzu gibt es wesentlich mehr Wissen und wesentlich weniger Probleme. Natürlich kann man Drupal auf Windows laufen lassen aber ob das so eine gute Idee ist...
Dann sei an dieser Stelle noch angemerkt, das Xampp nicht für den Live-Betrieb gedacht ist und in der Standard Konfiguration extrem unsicher eingestellt ist. Ich gehe jetzt mal nicht davon aus, dass ihr Xampp mit diesen unveränderten Einstellungen nutzt aber falls jm auf den Thread hier stößt sollte das erwähnt werden.
Danke für die guten
am 27.11.2012 - 13:12 Uhr
Danke für die guten Antworten.
Ein Wechsel ist leider nicht in betracht zu ziehen, da Anfang nächsten Jahres komplette Änderungen durchgeführt werden.
Kann man irgendwie die Zugriffe zu bestimmten Zeiten auslesen, um das Problem einzugrenzen?
Könnte ja sein das nur der Traffic zu groß ist.
Der Apache Dienst hat immer eine hohe Auslastung.
FTP ist ausgeschalten, da sonst sofort Hacking-Angriffe los gehen.
Die Zugriffsstatistiken
am 27.11.2012 - 13:32 Uhr
Die Zugriffsstatistiken kannst du Dir über Awstats, Webalizer und Co. auswerten lassen.
Habt ihr Caching aktiviert?
Danke, Webalizer wird
am 27.11.2012 - 13:40 Uhr
Danke, Webalizer wird getestet.
Ja haben wir.
Für den Fall, das Du das noch
am 27.11.2012 - 14:25 Uhr
Für den Fall, das Du das noch nicht gesucht hast: https://www.google.de/search?q=ntdll.dll%20apache
Auswertung mit Webalizer GUI
am 29.11.2012 - 09:56 Uhr
Habe jetzt mal die access.log ausgewertet...
Schnitt Maximum
Anfragen pro Stunde 6268 16846
Anfragen pro Tag 150433 207407
Dateien pro Tag 126753 178438
Files per Visit 11 54238
kb pro Tag 3697942 5572976
KBytes per Visit 337 11000079
dazu kommen über 700 Anfragen aus China, Korea usw...
Ist ziemlich viel für 2 GB Arbeitsspeicher und 2 CPUs oder?
MeXxX schrieb Habe jetzt mal
am 29.11.2012 - 10:58 Uhr
Habe jetzt mal die access.log ausgewertet...
Schnitt Maximum
Anfragen pro Stunde 6268 16846
Anfragen pro Tag 150433 207407
Dateien pro Tag 126753 178438
Files per Visit 11 54238
kb pro Tag 3697942 5572976
KBytes per Visit 337 11000079
dazu kommen über 700 Anfragen aus China, Korea usw...
Ist ziemlich viel für 2 GB Arbeitsspeicher und 2 CPUs oder?
Ziemlich viele Anfragen für nur 120 Webseiten.... Pro Tag wären das ja 1000 pro Webseite. Kann das sein? Spam? Gehackt? Virus?
Stimmt... in letzter Zeit
am 29.11.2012 - 11:04 Uhr
Stimmt... in letzter Zeit sehr viel Spam-Anmeldungen.
Kommentieren oder Eintragen kann man nichts auf unseren Webseiten.
Der FTP Dienst ist deaktiviert, da hier gleich 10000 Hacking-Angriffe in einer Stunde los gehen...
Kann man die Anfragen irgendwie eingrenzen?
Die Anfragen aus China oder Südkorea würde ich z. B. gerne ausschließen...
Adressbereiche aus diesen
am 29.11.2012 - 13:51 Uhr
Adressbereiche aus diesen Ländern kann man über den ,htaccess-File der Installation aussperren. Mal danach googlen.
Beste Grüße
Werner
Ja das geht. Entweder per
am 29.11.2012 - 13:53 Uhr
Ja das geht. Entweder per .htaccess oder Drupal modul http://drupal.org/project/restrict_ip (War in Drupal 6 zT schon eingebaut).
Werde das per .htaccess
am 05.12.2012 - 11:00 Uhr
Werde das per .htaccess machen, da das Modul leider in Version 5x nicht existiert.
Gibt es auch sowas wie eine Blacklist?
Das kommt drauf an, was du
am 05.12.2012 - 11:49 Uhr
Das kommt drauf an, was du mit Blacklist meinst. Willst du IPs oder IP-Regionen "blacklisten", oder User?
Es gibt für 5.x z.B. das entsprechende Blacklist-Modul: Blacklist. HTTP:Bl ist eine weitere Alternative, und Troll wiederum eine andere.
Wobei man vieles auch einfach bei Google finden kann, mit ein wenig Recherche. Das Thema IP, bannen, oder Blacklisten kann ja doch komplexer werden, je nachdem was man machen will. Und dann muss man eben auch schauen, dass es für 5.X in deinem Fall passt, was die Sache nicht zwingend einfacher macht, aber eben auch nicht unmöglich. :)
Die Auswertung von Webalizer
am 06.12.2012 - 15:27 Uhr
Die Auswertung von Webalizer ist leider ziemlich ungenau, deswegen sind so viele Zugriffe zusammen gekommen.
Über Google Analytics habe ich eine genauere Zahl errechnen können.
Am Tag sind es ca. 20000 Zugriffe.
Die Zugriffe sind auch nicht zu komische Zeiten wie 2 Uhr morgens. Zu den Kernzeiten (8-18 Uhr) sind die meistens Zugriffe.
Im Anhang die Auslastung der CPU. So siehts ungefähr den ganzen Monat aus.
Könnte natürlich sein, dass die Hackingangriffe direkt auf den Apache gehen, dann wäre nämlich nichts protokolliert.
Werde nun die virtuelle Maschine klonen und ein Apache Update durchführen.
Danach evtl. noch ein paar IP-Bereiche sperren.
Letztendlich kamen die größen
am 17.01.2013 - 09:57 Uhr
Letztendlich kamen die größen Verzögerungen und Ausfälle von einem Apache Fehler.
Dieser wurde von unserem Netzwerkadmin beseitigt.
Nun wird alles auf einen Linux-Server umgezogen.
OK vielen dank, dass Du auch
am 17.01.2013 - 11:00 Uhr
OK vielen dank, dass Du auch noch ein abschließendes Kommentar postest. Bei derartigen Fehlern ist es immer sehr schwer von remote zu helfen da es einfach zu viele Ursachen geben kann.
Wenn ihr euch jetzt nach Linux Servern umschaut würde ich mir in dem Kontext überlegen auch mal die Drupal optimierten Managed Angebote anzuschauen. Beispielsweise http://www.freistilbox.com/ , https://www.getpantheon.com/ oder auch das von Acquia u.a.
Hat nicht direkt etwas mit
am 27.01.2013 - 15:46 Uhr
Hat nicht direkt etwas mit deinem Problem zutun, jedoch würde ich folgendes in Betracht ziehen - bei sovielen Zugriffen.
Varnish mit 1-2 GB Platz,
Memcached mit 1-2 GB Platz,
APC
an den Einsatz von mongoDB würde ich auch mal nachdenken.
Wenn diese 4 Sachen laufen, sind die 20.000 Zugriffe pro Tag für den Server ein Klacks.