Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

200 gleichzeitige Zugriffe

Eingetragen von pleibel (59)
am 28.02.2008 - 14:03 Uhr in
  • Allgemeines zu Drupal

Hat jemand Erfahrung wie viele gleichzeitige Zugriffe verkraftet Drupal?

Ein Kunde von mir hat eigenen Server angemietet für das Portal. 200 Kunden haben zugegriffen und die Seiten wurden nicht mehr angezeigt.

Kann es an Drupal Liegen?

Ist es vielleicht einfach der Server, der schwache Anbindung hat. Hat jemand Erfahrungen damit?

‹ [gelöst] Menüpunkte Sprachabhängig klappt nicht in den Primary Links Inhalte - Erweiterung - Url include ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Huiii...

Eingetragen von MartinSfromB@dr... (184)
am 28.02.2008 - 14:09 Uhr

Also bei so konkreten Informationen, gibts auch ne konkrete Antwort ... klar, kann an Drupal liegen ... oder an ner Stromschwankung oder schlechtem Raumklima im Rechenzentrum. ;)
So kommen wir hier nicht weiter. Die Erfahrung mit 200 gleichzeitig angemeldeten Benutzern die auch tatsächlich noch 'gleichzeitig' was auf der Seite machen dürften hier allerdings nur seeeeeehr wenige haben.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich dachte 200 gleichzeitige

Eingetragen von pleibel (59)
am 28.02.2008 - 14:34 Uhr

Ich dachte 200 gleichzeitige Zugriffe ist nicht viel. Wir erwarten eigentlich viel viel mehr.

  • Anmelden oder Registrieren um Kommentare zu schreiben

pleibel schrieb

Eingetragen von Alexander Langer (3416)
am 28.02.2008 - 14:45 Uhr
pleibel schrieb

Ich dachte 200 gleichzeitige Zugriffe ist nicht viel. Wir erwarten eigentlich viel viel mehr.

Ich denke du hast den Punkt nicht ganz verstanden. "200 gleichzeitigen Zugriffen" sagt technisch gesehen erstmal nicht aus, wovon du wirklich sprichst. 200 gleichzeitig eingeloggte User? 200 gleichzeitig (sagen wir mal in derselben Sekunde) angefragte Seiten? 200 parallel laufende Datenbankabfragen? 200 gleichzeitig laufende Webserver Instanzen?

Ohne konkrete Angaben kann man da auch nur oraklen, aber nicht wirklich hilfreich antworten. Es muss das Gesamtsystem (Hardware, Betriebssystem, Services, Anwendung, Anbindung, Konfiguration, Nutzerverhalten) betrachtet und analysiert werden und dazu reicht ein Gemeinplatz "gleichzeitige Zugriffe" nicht aus.

Mal so zum Vergleich:
Ein Traktor mit 200 PS wird an der Ampel keine Mofa verblasen, aber ein PKW mit 200 PS wird auch aufm Acker keinen Blumentopf gewinnen... Was also sagt "mein Fahrzeug hat 200 PS" aus? Genau: Für sich genommen erstmal nicht viel.

--
"Look, Ma, I'm dead!"
Cell, Stephen King

  • Anmelden oder Registrieren um Kommentare zu schreiben

OK. Verstehe

Eingetragen von pleibel (59)
am 28.02.2008 - 14:53 Uhr

Gibt es Werkzeuge mit dennen ich diese Zugriffe auswerten kann? Und Anhand dieser Auswertungen Schwachstellen erkenne? Zur Zeit schau ich auf die Seite und weiß nicht genau, wo ich anfangen kann.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Log-Dateien des Servers

Eingetragen von MartinSfromB@dr... (184)
am 28.02.2008 - 15:02 Uhr

Die Log-Dateien des Servers sollten eigentlich relativ einfach für Aufklärung sorgen oder wenigstens sehr weit weiterbringen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Während des Hochbetriebs

Eingetragen von Alexander Langer (3416)
am 28.02.2008 - 15:16 Uhr

Während des Hochbetriebs mal mit einem "ps aux" schauen was für Prozesse laufen, mit top schauen welche die Auslastung erzeugen, schauen ob es ein Last-Problem ist, oder ob einfach nur der Webserver zu unterdimensioniert konfiguriert ist, usw. usf.

Grundsätzlich bringt einen ein dedizierter Server nur dann weiter, wenn jemanden hat, der mit dem System umzugehen weiß und dieses im Idealfall auch aufgezogen hat.

Wie hieß es doch in Spiderman:
"With great power comes great responsibility."

--
"Look, Ma, I'm dead!"
Cell, Stephen King

  • Anmelden oder Registrieren um Kommentare zu schreiben

"To many Connections "

Eingetragen von pleibel (59)
am 28.02.2008 - 15:48 Uhr

Ich habe jetzt ps aux aufgerufen und top angeschaut. Heute ist alles ruhig. Ich bin kein Systemadministrator, werde mich aber künftig mehr mit dieser Materie auseinander setzten müssen.

Ich weiß inzwischen auch welche Meldung damals gekommen ist. "To many Connections " Ist eigentlich eindeutig.

Es ist nicht im Drupal konfiguriert, dass diese Meldung kommt? Es ist im Server intergiert?

Mir wäre lieber, dass die Seite langsamer wird als er diese Meldung bringt.

Wir haben bereit einen deduzierten Server. Viel mehr kann der Kunde den Server nicht aufrüsten. Ich muss mir einfallen lassen wie ich die Auslastung optimieren kann.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Meldung "Too many

Eingetragen von Alexander Langer (3416)
am 28.02.2008 - 16:03 Uhr

Die Meldung "Too many connections" stammt im Grunde immer von der Datenbank. Für einen Webserver der am Limit agiert wäre es schwachsinnig eine Verbindung aufzumachen, die er nicht über hat, um eine solche Meldung auszugeben.

Also erstmal checken wie die RDBMS konfiguriert ist. Vermutlich ist es ein MySQL-Server. Also in die my.cnf bzw. die übrigen benutzten Dateien im Konfig-Verzeichnis schauen und die dortige Konfiguration checken. Außerdem schauen ob man irgendwo blöderweise persistente Verbindungen in seinem PHP-Kram nutzt. Das kann getrost auf normale Verbindung umgestellt werden, denn persistente Verbindungen müllen bei einem Webserver nur den RAM zu, werden gerne zu lange offen gelassen und bringen eher was bei wenigen langen Verbindungen mit jeweils vielen Abfragen, als bei vielen kurzen mit wenigen Abfragen.

Link: http://www.administrator.de/MySQL_-_Too_many_connections.html
(übrigens erster Treffer in Google für "too many connections" ;) )

--
"Look, Ma, I'm dead!"
Cell, Stephen King

  • Anmelden oder Registrieren um Kommentare zu schreiben

MySQL überlastet den Server

Eingetragen von pleibel (59)
am 29.02.2008 - 21:15 Uhr

Jetzt habe ich es gesehe. Es ist der MySQL - Server der den Server überlastet. Es waren etwas über 100 Besucher auf der Seite. Weniger als 20 waren eingelogt.

Der MySQL Server hat wie wahnsinnig gearbeitet und es bewergte sich nichts mehr.

Ein deduzierter Server mit Prozessor 4,6 und Arbeitspeicher 3 GB müsste aber mehr verkraften oder?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn ich nur wüsste welche

Eingetragen von pleibel (59)
am 29.02.2008 - 21:27 Uhr

Wenn ich nur wüsste welche Schritte den MySQL Server so belasten, könnte ich diese Funktion optimieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

"show processlist;" wäre

Eingetragen von Alexander Langer (3416)
am 29.02.2008 - 21:56 Uhr

"show processlist;" wäre ein Anfang. Das Slow Query Log von MySQL wäre - wenn vorhanden - auch noch ein Quell interessanter Infos.

P.S.:
es heißt "dediziert" ;)

--
"Look, Ma, I'm dead!"
Cell, Stephen King

  • Anmelden oder Registrieren um Kommentare zu schreiben

Devel Modul Schau dir

Eingetragen von morgenstern@dru... (88)
am 01.03.2008 - 09:07 Uhr

Devel Modul

Schau dir außerdem mal das Devel Modul an (http://drupal.org/project/devel). Das hat eine funktion mit der du, als admin der Website, dir für jede Seite anzeigen lassen kannst
1) wieviele SQL abfragen pro Seite gemacht wurden
2) welche SQL Abfrage wie lange gedauert hat!!!
Über 2) wirst du relativ schnell feststellen können, dass es bestimmte Abfragen gibt die sehr oft und lange in anspruch genommen werden!

Caching?

Du hast geschrieben dass bei deinem letzten Test weniger als 20% der Benutzer wirklich eingelogt waren. D.h. du hast überwiegend anonyme Besucher für die caching sehr sinnvoll wäre. Hast du Caching eingeschaltet und ggf. mal den aggressive mode probiert bzw. dich damit beschäftigt?

Throttle

Damit deine Seite bei sehr hoher Besucherbelastung nicht vollkommen abschmiert gibt es, min. schon seit Drupalversion 4.7, das Modul "Throttle - Handles the auto-throttling mechanism, to control site congestion."
Mit diesem Modul kannst du bestimmte ressourcenintensive (siehe oben Punkt 2) ) Inhalte ausblenden lassen wenn ganz besonders viele Benutzer auf deiner Seite sind.

Drupal & MySQL High availability

Ob das jetzt noch weiterhilft weiss ich nicht genau, aber Dries Buytaert hat auf seinem blog vor einiger Zeit eine Präsentation von Kris Buytaert zum Thema "Drupal & MySQL High availability" beworben:
http://buytaert.net/drupal-and-mysql-high-availability

Beste Grüße und viel Erfolg!
Morgenstern

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank. Ich werde

Eingetragen von pleibel (59)
am 01.03.2008 - 10:06 Uhr

Vielen Dank.

Ich werde alles ausprobieren. Das Modul Devel installiert. Muss noch mit Konfiguration rumspielen und beobachten.

Caching aktiviert. Aggressive mode kann nicht einschalten, weil die Mehrsprachigkeit aktiviert haben.

Ich habe auch bereits an dem MySQL-Server in der my.cnf ein wenig an den Einstellugen geschraubt, da der Server größer ist als manche Standarteinstellungen.

Ich bin nur leicht frustriert, dass es bereits mit 100 Zugriffen so schlimm ist. Damit habe ich einfach nicht gerechnet. Man muss ja wirtschaftlich das betrachten. 1000 Zugrifee = 1 Abschluss. Man braucht schon Menge Zugriffe bis der Betreiber etwas verdient.

  • Anmelden oder Registrieren um Kommentare zu schreiben

es gibt diverse Cache Module

Eingetragen von dawehner (2639)
am 01.03.2008 - 10:32 Uhr

es gibt diverse Cache Module welche helfen

http://drupal.org/project/advcache
http://drupal.org/project/apc
http://drupal.org/project/blockcache
http://drupal.org/project/boost
--------------
Mein Blog: www.freeblogger.org
Deutscher IRC-Channel: irc.freenode.net #drupal.de je mehr desto besser
... Jabber-me: dereine@jabber.ccc.de Warum Jabber?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ein paar Ratschläge in die

Eingetragen von glueckskind (120)
am 01.03.2008 - 10:34 Uhr

Ein paar Ratschläge in die Richtung:

a) Besorg Dir http://day32.com/MySQL/tuning-primer.sh
Damit kriegst Du auf die schnelle eine Auswertung der Einstellungen Deiner Datenbank. Wenn Du die Vorschläge umsetzt kitzelst Du eventuell etwas Leistung aus der Datenbank.

b) Php-Skripte cachen
http://eaccelerator.net/
Man glaubt gar nicht was das ausmachen kann.

c) Apache Server testen
Den Erfolg der Maßnahmen kannst Du leicht hiermit überprüfen

ab2 -n1000 -c100 http://www.DeineWebseite.de/

-n1000: 1000 Zugriffe
-c100: 100 zeitgleiche Zugriffe

  • Anmelden oder Registrieren um Kommentare zu schreiben

Apache Server testen. Das

Eingetragen von pleibel (59)
am 02.03.2008 - 08:57 Uhr

Apache Server testen. Das habe ich nicht ganz verstanden. Wie kann ich das machen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Entschuldigung, ich habe

Eingetragen von glueckskind (120)
am 02.03.2008 - 12:53 Uhr

Entschuldigung, ich habe mich nicht deutlich ausgedrückt.

http://httpd.apache.org/docs/2.0/programs/ab.html

Ich weiß nicht wie es unter Windows aussieht, aber unter Linux kannst Du mit ab testen wann Dein Server in die Knie geht. Du simulierst von einem Fremdrechner die gewünschte Anzahl an (gleichzeitigen) Zugriffen und schaust Dir an wie sich die Antwortzeiten entwickeln.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vor allem solltest du dir

Eingetragen von Alexander Langer (3416)
am 02.03.2008 - 13:09 Uhr

Vor allem solltest du dir kurzfristig jemanden suchen, der mehr Erfahrung hat und dir sagen kann wo es hängt, warum es hängt und ggf. gegensteuern kann. Ohne eine fundierte Analyse sind alle Ratschläge, so gut gemeint sie auch sind, doch nur blinder Aktionismus.

--
"Look, Ma, I'm dead!"
Cell, Stephen King

  • Anmelden oder Registrieren um Kommentare zu schreiben

50 Prozesse und Schluß?

Eingetragen von batman1983 (189)
am 03.12.2008 - 10:15 Uhr

Hallo Leute,
wir stoßen so langsam an unsere Grenzen von Drupal oder denen des Servers. Dazu bräuchte ich Euer Fachwissen. Wir (www.allround-pc.com) nutzen D5.12 und bei 50 gleichzeitigen(!) Webserver Prozessen macht unser Server (Root: 2GB RAM, Dual Core Opteron, 2x160 GB) dicht. Die Auslastung von Mysql, PHP etc könnt Ihr hier beobachten: http://munin.allround-pc.com/com/Allround-PC.com.html
Ich habe seit wenigen Tagen die Lastreduzierung aktiviert und auf 45 Gäste eingestellt. Bin mir aber nicht wirklich sicher, ob es das bringt.
Folgende Performance Module sind installiert und aktiviert: Memcache, Boost, APC, CSS und Java Script Komprimierung, Cache auf normal eingestellt.
Vielleicht kann mir noch wer nen Tipp geben. Egal was für einer, ich bin für jede kleine Verbesserung offen! Danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bist Du sicher das Boost so laeuft wie es soll?

Eingetragen von quiptime (4972)
am 03.12.2008 - 10:35 Uhr

Zum aktivierten Modul Boost - DB Lastreduzierung durch Dateien im Filesystem bei nicht eingeloggten Besuchern.

Bist Du sicher das Boost so laeuft wie es soll? Das bedeutet, hast Du geprueft ob als Ergebnis der Konfiguration von Boost wirklich Dateien im Filesystem liegen?

PS
Kannst Du mal den Link zu dieser Website mit den Lastproblemen posten?

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der Link steht oben :) Es

Eingetragen von batman1983 (189)
am 03.12.2008 - 11:11 Uhr

Der Link steht oben :) Es ist www.allround-pc.com

Boost läuft (richtig). Es werden im Cache Ordner massenhaft HTML Dateien angelegt, allerdings sehe ich gerade, nicht mehr mit der kompletten Größe wie früher. Alle Dateien sind nur noch 23 Bytes groß...
Liegt es evtl. daran, dass Boost nicht mit APC läuft? http://drupal.org/node/173804

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oeffne einfach solch eine Datei und sehe Dir ihren Inhalt an.

Eingetragen von quiptime (4972)
am 03.12.2008 - 11:16 Uhr
Zitat:

Alle Dateien sind nur noch 23 Bytes groß

Oeffne einfach solch eine Datei und sehe Dir ihren Inhalt an.

Damit Boost funktioniert benoetigt es keinen APC. Deswegen kann man Boost auch bei Shared Hosting verwenden.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hab die Datei runtergeladen,

Eingetragen von batman1983 (189)
am 03.12.2008 - 11:47 Uhr

Hab die Datei runtergeladen, Quellcode stimmt mit der entsprechenden Seite überein, am Ende steht noch :
<!-- Page cached by Boost at 2008-12-03 11:00:46, expires at 2008-12-03 11:00:46 -->

PS: Das mit den 23 Bytes liegt daran, dass es eine Verknüpfung mit der node Datei (wegen pathauto). Die entsprechende Datei ist dann auch größer.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Man müsste sich die

Eingetragen von Alexander Langer (3416)
am 03.12.2008 - 11:42 Uhr

Man müsste sich die Auslastung / Aktivität und Konfiguration des apache, MySQL, Memcache und APC mal in Ruhe anschauen. Wenn man schon Munin einsetzt, ist es auch sinnvoll für alle relevanten Services Auswertungen zu fahren. In eurem Fall vermisse ich Memcache.

Was passiert bei euch morgens um 9, dass es dort immer einen einzelnen Peak beim Webserver gibt? Die Auswertung über die transferierte Datenmenge vom Apache ist mir auch nicht ganz geheuer. Hängt ihr mit der Karre an einem Inifiniband-Switch, oder wie kommt ihr auf Peaks von 125 MB die Sekunde? Sieht eher so aus, als würden da haufenweise Anfragen über localhost laufen..?

Interessant wäre auch zu wissen, was gestern ab etwa 1530 Uhr bei euch los war, dass es einen solchen Ausreißer gab. Leider hats durch das Geswappe in der Zeit auch die Stats zersemmelt. Ein bekanntes Problem. Von diesem breiten Peak abgesehen sieht alles soweit okay aus. CPU Last ist recht gering, IOWAIT ist bestens, RAM ist frei, ...

--
Webseiter Logo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Gestern um 15:30 ist des zum

Eingetragen von batman1983 (189)
am 03.12.2008 - 11:53 Uhr

Gestern um 15:30 ist des zum Schlag gekommen, dass die 50 Prozesse erreicht wurden...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die werden auch morgens um

Eingetragen von Alexander Langer (3416)
am 03.12.2008 - 12:03 Uhr

Die werden auch morgens um etwa halb neun erreicht. Die Frage ist, wo sie herkommen und ob sie "natürlichen" Ursprungs sind. Wenn dem so ist, ist eure Maschine ggf. nicht ausreichend für solche Spitzenlasten dimensioniert, da die 50 Webserverprozesse und die daran hängenden MySQL Abfragen den RAM Bedarf in die Höhe schrauben. Spätestens wenn die Karre auch noch anfängt den Speicher des Memcched auszulagern, ist der Server nur noch mit dem Swappen beschäftigt und reißt sich selber herunter. Darum wird in großen Szenarien der Memcached auf dedizierten Maschinen laufen gelassen, die nichts anderes machen. Lässt man alles auf derselben Maschine laufen, hat er keine größere Cache-Hit Rate als das DB-Caching von Drupal und entlastet die DB nur von den eh schon recht schnellen DB-Cache-Abfragen.

Entweder ihr findet Ursachen und schafft es über entsprechende Konfigurationen den Ressourcenbedarf im Worst Case deutlich zu reduzieren, oder ihr braucht viel mehr RAM.

Kann man aber alles von außen ohne passenden Input nicht adäquat beurteilen.

--
Webseiter Logo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Man braucht Kennzahlen

Eingetragen von narres (348)
am 03.12.2008 - 14:59 Uhr

Der Begriff 200 Zugriffe gleichzeitig ist relativ.

Ich gebe mal einen Anhalt was mit

- Dual AMD 64 Bit (2,1 GHz BE-2350)
- 2-3GB RAM (400er)
- Normale Platten (Software RAID)

machbar ist.

Installation:

- Debian (ansich unwichtig)
- Diverse Drupal Versionen ab 4.7 aufwärts (mixed und Multisite)
- 1GB MyISAM Tables
- 256MB InnoDB Tables
- APC aktiv
- Memcache

Damit lassen sich durchaus komplette Page-Renderings von über 10-20/Sekunde erzielen. Das entspricht ~10-25K PageViews/Tag. Eher mehr.
Das entspricht auf meiner Installation etwa 2K DB Request in der Sekunde.
Das sind natürlich Zahlen, welche stark von der Anzahl Datenbanken, Tabellen, Drupal-Installs, Module etc abhängen. Die Zahlen bei mir fußen auf etwa 10K User, 100K Nodes und 50K Taxonomie-Begriffe. Also schon was mächtiger.

Bei allround-pc fällt auf, dass da die CPU zu 175% (von 200%) idle ist. Die pennt also nur (ein P3 würde das schaffen).
Das RAM kommt zwar theoretisch in Swap-Bereiche ist aber auch qausi leer. Das meiste ist da im allgemeinen Cache oder Buffer. Die effektive Nutzung des RAM liegt hier bei ~20%.
MySQL scheint ganz gut zu sein, da sehr viel aus dem Query-Cache bedient werden kann.

Der Engpass liegt hier woanders:
Was auffällt ist, dass die "Busy Apache Server" im Schnitt bei eta 10 liegen. Das ist nix :)
Der Peak von 150 MySQL-Threads ist enorm hoch und erzeugt dann auch direkt Swapping und Systemstillstand.

Von der Auslastung her würde allround-pc wesentlich mehr leisten können. Das Problem liegt hier klar am Durchsatz. Bei etwa 20% macht das System dicht und kümmert sich um sich selber, bis dass es anfängt zu swappen. Also etwas grundlegend falsch in der Config.
Wenn Du Dir die Stelle mit den 50 (Tuesday ~15:00) Prozessen anschaust, dann wirst Du feststellen, dass da Apache gestorben, MySQL 150 nichtstuende Thread gestartet hat, die nichts an Query machten (Deadlock). Dein Netstat ist zur gleichen Zeit hochgegangen, was eher seltsam ist und auf eine nicht vorhandene Firewall hinweisen kann und jemand versucht von extern auf Deine DB zu connecten.
Die CPU tat zu dem Zeitpunkt null-komma-nix. Dein RAM lief aber voll (150 nichtbeendende MySQL-Thread) und der Tod klopfte an die Tür.

Apache würde ich mal mit etwa

    MaxClients           32
    StartServers          2
    MinSpareThreads       2
    MaxSpareThreads       4
    ThreadsPerChild       4
    MaxRequestsPerChild   4

und MySQL mit

key_buffer_size         = 256M      # 256M ... 320M
query_cache_type        = 1
query_cache_size        = 64M       # 16M ... 64M
query_cache_limit       = 64M
query_cache_min_res_unit= 256K      # 128K ... 1M
max_heap_table_size     = 64M       # 8M ... 64M
tmp_table_size          = 64M
innodb_buffer_pool_size = 256M      # Kannst Du weglassen, wenn Du kein InnoDB nutzt.
# PER THREAD:
max_connections         = 32        # 10-20% Greater than apache-threads
sort_buffer_size        = 16M       # 8M ... 32M
myisam_sort_buffer_size = 16M
join_buffer_size        = 16M       # 8M ... 32M
read_buffer_size        = 2M        # 64K ... 1M
read_rnd_buffer_size    = 2M        # 64K ... 1M

versuchen. Das sind ganz gute Startwerte.

Bevor man anfängt in Drupal runmzutricksen sollte man ersteinmal zusehen, dass Apache und MySQL ordentlich installiert und konfiguriert sind. 99% der Sünden liegen schon hier.

Neben tuning_primer ist http://mysqltuner.com/ sehr zu empfehlen.

Mehr dazu auch am 17.+18. Januar 2009 (http://drupalcamp.de/node/77) ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

DB auf extra Server auslagern

Eingetragen von daharry (3)
am 03.12.2008 - 15:25 Uhr

schon probiert? Hat man beides (Webserver und Datenbankserver) auf einem Rechner oder dedizierten Server, ist die Leistung meiner Erfahrung nach sehr bescheiden. Eine Auslagerung hat bei mir zumindest das mehrfache der Leistung herausgeholt. Allgemein habe ich eine Richtlinie im Kopf (ich weiss nicht mehr woher) dass ein Prozessor ca. 1000 User pro Sekunde verarbeiten kann (Bitte um Berichtigung, falls das nicht mehr zutrifft). Alles andere liegt dann am Durchsatz der Datenbank (Anzahl Festplatten) oder der Größe des RAM. Ich denke aber nicht, dass deine DB 2 GB überschreitet, oder?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke schonmal für die

Eingetragen von batman1983 (189)
am 03.12.2008 - 15:20 Uhr

Danke schonmal für die Kommentare.
Unsere Apache:

Zitat:

StartServers 1
MinSpareServers 2
MaxSpareServers 4
MaxClients 50
MaxRequestsPerChild 250

Mysql hab ich gerade ned zur Hand...

  • Anmelden oder Registrieren um Kommentare zu schreiben

daharry schrieb schon

Eingetragen von batman1983 (189)
am 03.12.2008 - 15:24 Uhr
daharry schrieb

schon probiert? Hat man beides (Webserver und Datenbankserver) auf einem Rechner oder dedizierten Server, ist die Leistung meiner Erfahrung nach sehr bescheiden. Eine Auslagerung hat bei mir zumindest das mehrfache der Leistung herausgeholt. Allgemein habe ich eine Richtlinie im Kopf (ich weiss nicht mehr woher) dass ein Prozessor ca. 1000 User pro Sekunde verarbeiten kann. Alles andere liegt dann am Durchsatz der Datenbank (Anzahl Festplatten) oder der Größe des RAM. Ich denke aber nicht, dass deine DB 2 GB überschreitet, oder?

Unsere DB hat etwa ne Größe von 300 MB. Dazu kommen halt noch paar kleinere Datenbank aufm Server, aber das spielt ja nur eine sehr kleine Rolle.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: DB auf extra Server auslagern

Eingetragen von narres (348)
am 03.12.2008 - 15:34 Uhr
daharry schrieb

DB auf extra Server auslagern

wird in dem Falle gar nichts bringen.
Der Server ist ja gestorben, weil 150 MySQL's das System ans Swappen brachten und eh kein Apache mehr lief.

Zum groben kalkulieren von RAM
Apache: Maximale Anzahl Threads * PHP-Ram-Limit = Max Apache RAM
MySQL: Globale Buffer + Maximale Anzahl Threads * PerThreadBuffer = Max MySQL RAM

Überschreitest Du mit beidem zusammen wesentlich (mehr als 25-50%) die echte RAM-Grenze, dann bekommst Du ein Problem mit dem Swapping und Dein System steht. Ist immer eine Mischkalkulation, wenn man Web, DB und Mailserver auf ein und derselben Box betreibt.

Der Deadlock:
Das passierte hier schon mit dem MySQL alleine. 150 MySQL-Thread bringen das System so in's swappen, dass sich nicht mehr tut.

Die Maschine verkraftet die Website locker. Das Problem ist hier ein Deadlock.
Die Last muss etwas geschickter verteilt werden und die Limits richtig gesetzt sein.

Weniger ist hier oft mehr.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: MaxRequestsPerChild 250

Eingetragen von narres (348)
am 03.12.2008 - 15:43 Uhr

Ist tödlich und kann nicht wirklich über MaxClients 50 liegen.

Würde ja bedeutet, dass maximal 50 Apache Instanzen laufen können aber 1 davon 250 Requsts absetzen darf. Damit könnte bei persistenter PHP-MySQL Verbindung und großem KeepAliveTimeout (sollte zwischen 5 und 15 liegen) richtiger Unsinn getrieben werden (F5 Reload).

Das wird aber mit Sicherheit nicht zu dem Ausfall geführt haben.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Auf der anderen Seite hast

Eingetragen von Alexander Langer (3416)
am 03.12.2008 - 16:19 Uhr

Auf der anderen Seite hast du bei kleinem MRPC den Overhead ständig neue Instanzen spawnen zu müssen. Bei Servern die nur eine Anwendung ausliefern sollte man ggf. mal schauen wieviele Ressourcen pro Seite angefragt werden und sich zahlenmäßig dahingehend orientieren.

Ein sauber laufendes System bringt den Benutzer gar nicht erst in die Verlegenheit F5 zu drücken, von daher ist das ein nachgelagertes Problem, welches man erstmal aus der Betrachtung ausnehmen kann.

Von Haus aus benutzt Drupal übrigens gar keine persistenten DB Verbindungen zu MySQL. Dazu müssten man händisch die /includes/mysql.inc.php ändern, wie dort im Kommentar zur Funktion db_connect() beschrieben.

--
Webseiter Logo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich bin momentan ebenso am

Eingetragen von wflorian (251)
am 13.12.2008 - 21:51 Uhr

Ich bin momentan ebenso am verbessern der Leistung unserer Seite. Ich arbeite gerade sämtliche YSlow Ergebnisse durch. Außerdem habe ich bereits JS Aggregation und Minimizing installiert. Wir betreiben eine D5 Seite.

Auf der Suche nach erweiterten Caching Methoden bin ich auf CacheRouter aufmerksam geworden (http://drupal.org/project/cacherouter). Allerdings gibt es bisher nur eine Beta Version. Hat jemand Erfahrung mit dem Modul? Es scheint APC und Memcache zu ersetzen bzw zu verwenden, das Projekt sieht sehr interessant aus.

Würde mich wie gesagt interessieren, wenn jemand zu dem besagten Modul schon Erfahrungen gesammelt hat.

Grüße
Florian

  • Anmelden oder Registrieren um Kommentare zu schreiben

Cacherouter scheint wirklich

Eingetragen von batman1983 (189)
am 13.12.2008 - 22:04 Uhr

Cacherouter scheint wirklich interessant zu sein, aber ich scheiter schon an der Konfiguration.

$conf['cache_inc'] = './sites/all/modules/cacherouter/cacherouter.inc';
$conf['cacherouter'] = array(
  'default' => array(
    'engine' => 'db',
    'server' => array(),
    'shared' => TRUE,
    'prefix' => '',
    'path' => '/tmp/filecache',
    'static' => FALSE,
    'fast_cache' => TRUE,
  ),
  'memcache' => array(
    'engine' => 'memcache',
    'server' => array('localhost:11211'),
    'shared' => TRUE,
    'prefix' => '',
    'path' => '/tmp/filecache',
    'static' => FALSE,
    'fast_cache' => TRUE,
  ),
);

So hab ich das verstanden zu konfigurieren, aber laut meinem Admin hab ich keinen Performancezuwachs bei Benchmarks errungen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wo sollen die Zuwächse

Eingetragen von Alexander Langer (3416)
am 13.12.2008 - 22:42 Uhr

Wo sollen die Zuwächse serverseitig denn auch herkommen, wenn die Karre kaum Last hat?

Du kannst deinen Wagen tunen wie du willst, so lange du nicht das Gaspedal durchdrückst, wirst du nichts davon haben.

 Webdesign, Drupal, Module, Entwicklung

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 6 Tagen
  • Hey danke
    vor 1 Woche 6 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 13 Stunden
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 2 Tagen
  • In der entsprechenden View
    vor 3 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 2 Tagen
  • gelöst
    vor 5 Wochen 5 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 19 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association