festplatten durchsatz steigern?!

flamingo

New Member
liebe admin,

seit einigen wochen treibt mich die leistungssteigerung meines vservers um - langsam stoße ich aber an Grenzen, die ich nicht wirklich verstehe.

Nach dem Upgrade von einem kleineren Paket bei netclusive zu einem größeren Paket mit 1.800 MHz und 1024 MB Ram läuft der vserver sehr zuverlässig (hatte vorher wohl einfach zu wenig Ram und zu viele files geöffnet).
Allerdings finde ich die load des vservers zu hoch für den Traffic meiner Websites.

Am Tag muss der Apache ca. 35.000 Hits verarbeiten. Die meisten Seiten sind PHP Skripte (selbst programmiert), die mehrere MySQL Querys aufrufen.
Ich habe den Cache für MySQL vergrößert, so dass jetzt der größte Teil der Querys gecacht wird. Häufig benutzte Skript schreiben (wenn es geht) den Output ins tmpfs. Dann kann ich mit mod_rewrite auf die statischen Seiten umleiten, solange die aktuell sind.
Im Apache habe ich auch BufferedLogs On gesetzt.

Diese Massnahmen haben die Last (load) zu Spitzenzeiten deutlich reduziert. Die CPU ist fast immer unterbeschäftigt.

Trotzdem der (m.E.) für einen Webserver nicht sehr hohen Zugriffsraten liegt load oft bei 2, was doch eigentlich zu viel ist, oder?
Die Google Webmaster Tools zeigen an, dass bei crawlen eine Seite durchschnittlich erst nach über einer Sekunde geladen ist (was ich viel finde, auch wenn der GoogleBot mehrfach parallel zugreift).

Auf der Maschine läuft noch postfix, spamassassin, amavis-new und mailman (wenig genutzt).

Die Byte Unix Bench liefert für den vserver (spät Abends, wenn wenig los ist) ca. 65 Punkte. Das ist nicht berauschend, aber wohl nichts, was ich was ändern könnte...

Hat jmd. noch eine Idee, wie ich bei einem vserver den Plattendurchsatz verbessern kann, oder die Anzahl der Plattenzugriffe deutlich reduzieren kann?

Eigentlich sollte das lesen der Scripts doch vom System gecacht werden. Kann ich dafür cache Parameter ändern, denn Ram habe ich noch genug frei...
 
Wenn Du wirklich genug RAM hast, könntest Du mod_cache - Apache HTTP Server einsetzen. Damit würde der Apache die Seiten im RAM halten.

Falls Deine Scripts viel berechnen und zwischenspeichern, könntest Du memcached: a distributed memory object caching system anschauen. Damit lassen sich Objekte im RAM halten und von mehreren Scripts wieder lesen.

Alternativ würde ich mir überlegen, ob ein vServer für das Projekt geeignet ist, oder ob Du mit einem dedicated Server nicht weniger Probleme hättest.
 
Allerdings finde ich die load des vservers zu hoch für den Traffic meiner Websites.
Fakten, Fakten, Fakten!
Alles andere sind nur Vermutungen und eigene Interpretation.
Und das sollen wir dann glauben? ;)

Hat jmd. noch eine Idee, wie ich bei einem vserver den Plattendurchsatz verbessern kann, oder die Anzahl der Plattenzugriffe deutlich reduzieren kann?
Erhöhen dürfte wohl nicht drin sein. Außerdem musst Du beachten, daß Du die Kapazität des Hostsystem's nicht alleine nutzt.
Bzgl. Caching: Du könntest natürlich den RAM optimieren. Aber beachte, daß ein Teil von Deinem RAM eh meist im Swap des Hostsystems hängt. D.h. Deine Bemühungen können locker nach Hinten los gehen.

huschi.
 
Fakten, Fakten, Fakten!
Alles andere sind nur Vermutungen und eigene Interpretation.
Und das sollen wir dann glauben? ;)

Genau das hätte ich auch geschrieben. Du schreibst zwar was von der Gesamt Load, aber nix davon wie viel der Apache davon braucht. Ein "top" zu Load=2 Zeiten könnte schon mal etwas Licht ins Dunkel bringen.

Von reiner Serveroptimierung und Cache Speicherung abgesehen: Intelligente PHP Programmierung und Reduzierung / Selektion von Datenbankzugriffen wird noch viel mehr bringen. Und das Beste: Du brauchst an der Hardware oder dem OS überhaupt nix ändern.
Da Du von selbstprogrammierten Seiten schreibst, würde ich mal vermuten (ohne Dir schlechte Programmierung unterstellen zu wollen), dass in der Optimierung der Hund begraben liegt.
 
Back
Top