Zugriffszeiten

Lesenswerte Artikel, Anleitungen und Diskussionen
evgueni
Posts: 78
Joined: 2003-02-14 13:48
Location: Ilmenau

Zugriffszeiten

Post by evgueni » 2004-05-24 14:56

Ich habe mal eine vielleicht etwas komische Frage... :-D

Wie kann man bestimmen woran lange Zugriffszeiten bei einem Server liegen?

Ich habe z.Z. folgendes Problem:
mein Server liefert pings von 80-100ms. Das ist ja eigentlich vollkommen in Ordnung, denn das ist ein Webserver, er wird nicht als Gameserver eingesetzt. Wenn ich allerdings ein PHP-Script aufrufe, dauert das manchmal bis zu 10 Sekunden bis ich das Ergebnis geliefert bekomme. Es werden dabei aber auch keine aufwendigen Berechnungen durchgeführt, lediglich ein Paar DB-Anfragen. Die Ausführungszeit dürfte normalerweise bei max. 0,1s liegen. top sagt mir, dass ca. 80% der CPU idle sind, das System ist also auch nicht überlastet.

Ich denke also eigentlich dass das an der Anbindung liegt, aber wieso sehen dann die Pings so gut aus?

Hat jemand eine Idee? Gibt es irgendein Tool, mit dem man die Anbindung "richtig" testen kann?

Vielen Dank für Antworten schon im Voraus!

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Zugriffszeiten

Post by captaincrunch » 2004-05-24 15:00

mtop
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

outofbound
Posts: 470
Joined: 2002-05-14 13:02
Location: Karlsruhe City

Re: Zugriffszeiten

Post by outofbound » 2004-05-24 15:08

mysqladmin proc

querries anschauen

script anschauen.

evgueni
Posts: 78
Joined: 2003-02-14 13:48
Location: Ilmenau

Re: Zugriffszeiten

Post by evgueni » 2004-05-24 15:13

Nein, an MySQL liegt es eindeutig nicht. Ich habe z.Z. das selbe Verhalten auch wenn ich eine Datei (z.B. ein Bild) vom Server herunterladen will.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11578
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Zugriffszeiten

Post by Joe User » 2004-05-24 16:49

Sind Komprimierungen ala mod_gzip aktiv?
Persistente DB-Verbindungen aktiviert?
Irgendein PHP-Cache aktiv?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

marduk
Posts: 15
Joined: 2004-05-14 10:47

Re: Zugriffszeiten

Post by marduk » 2004-05-24 16:52

Nameservereinträge stimmen auf dem Server ? Wenn er versucht deine Adresse rückwärts aufzulösen und findet den angegebenen NS nicht haste auch ein Problem....

evgueni
Posts: 78
Joined: 2003-02-14 13:48
Location: Ilmenau

Re: Zugriffszeiten

Post by evgueni » 2004-05-24 17:00

Joe User wrote:Sind Komprimierungen ala mod_gzip aktiv?
Persistente DB-Verbindungen aktiviert?
Irgendein PHP-Cache aktiv?
mod_gzip... also ich habe es zumindest nicht aktiviert. httpd.conf weiß auch nichts davon.
persistente DB-Verbindungen sind aktiviert und ich benutze sie auch
PHP-Cache habe ich auch nicht installiert.

Das ist eine normale Suse Linux 8 + Confixx2 insallation, ich habe bis jetzt nur MySQL4 draufgemacht und noch einige Config-Dateien angepasst.

evgueni
Posts: 78
Joined: 2003-02-14 13:48
Location: Ilmenau

Re: Zugriffszeiten

Post by evgueni » 2004-05-24 17:03

marduk wrote:Nameservereinträge stimmen auf dem Server ? Wenn er versucht deine Adresse rückwärts aufzulösen und findet den angegebenen NS nicht haste auch ein Problem....
Hm... Z.Z. läuft bei mir kein NameServer weil alle Domains doch auf NameServer vom Regstrar(schlund) zeigen.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11578
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Zugriffszeiten

Post by Joe User » 2004-05-24 17:11

evgueni wrote:mod_gzip... also ich habe es zumindest nicht aktiviert. httpd.conf weiß auch nichts davon.
OK und belasse es bitte dabei.
evgueni wrote:persistente DB-Verbindungen sind aktiviert und ich benutze sie auch
Abstellen.
evgueni wrote:PHP-Cache habe ich auch nicht installiert.
OK.
evgueni wrote:und noch einige Config-Dateien angepasst.
Welche Dateien hast Du weshalb und wie geändert?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

evgueni
Posts: 78
Joined: 2003-02-14 13:48
Location: Ilmenau

Re: Zugriffszeiten

Post by evgueni » 2004-05-24 17:24

Abstellen.
Das kann ich nicht. Meine Seite produziert soviele Anfragen an die DB, dass sie mittlerweile ohne persistente Verbindungen nicht mehr auskommt. Da würde sie doch sofort wegen mysql_max_connections rausfliegen.

...Config Dateien
Ich habe nur die php.ini etwas verändert, dann hab ich in Confixx als httpd-special SafeMode ausgeschaltet, und noch die my.cnf für große Systeme genommen (der Server hat 2Gb RAM)

evgueni
Posts: 78
Joined: 2003-02-14 13:48
Location: Ilmenau

Re: Zugriffszeiten

Post by evgueni » 2004-05-25 21:09

Also ich gestern bissl mit der httpd.conf rumgespielt, habe solche Werte wie z.B. die max. Anzahl der httpd-Prozesse verändert. Ich hätte eigentlich nie gedacht, dass das etwas bewirken kann.
Ich habe dann Apache neugestartet, und seitdem läuft der Server absolut fehlerfrei und auch wirklich megaschnell!

Ich danke euch für Hilfe! :wink:

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Zugriffszeiten

Post by oxygen » 2004-05-25 21:24

evgueni wrote:
Abstellen.
Das kann ich nicht. Meine Seite produziert soviele Anfragen an die DB, dass sie mittlerweile ohne persistente Verbindungen nicht mehr auskommt. Da würde sie doch sofort wegen mysql_max_connections rausfliegen.
Das ist aber ziemlich unlogisch, durch die Verwendung von pconnects erhöht sich die Anzahl der MySQL Verbindung drastisch. Jeweils eine Pro Prozess und mysql User. Wenn mal also z.b. MaxClients 150 eingestellt hat und die auch ausgenutzt werden und 10 Vhosts drauf liegen, die jeder einen MySQL User haben, hat man 1500 gleichzeitige MySQL Verbindung.

evgueni
Posts: 78
Joined: 2003-02-14 13:48
Location: Ilmenau

Re: Zugriffszeiten

Post by evgueni » 2004-05-25 22:03

Hm... 10 Vhosts? Ne, soviele habe ich nicht. Ich habe nur einen MySQL-User angelegt, er hat insgesamt 3 Datenbanken, davon wird bei den meisten Zugriffen nur eine beansprucht.

Soweit ich weiß, wird keine zusätzliche persistente Verbindung aufgebaut, wenn eine solche (mit dem gleichen Usernamen) schon besteht. Das ist doch der Sinn davon.

Ich weiß jetzt leider nicht so genau, ob Apache pro httpd-Prozess eine Verbindung aufbaut, oder ob das PHP eigenständig regelt, aber ich geh mal davon aus, denn ich kann in MySQL ständig mehrere Verbindungen zur DB sehen und nicht nur eine.
Wenn ich allerdings keine persistenten Verbindungen verwende, würden doch bei jedem Zugriff neue Verbindungen aufgebaut werden, dadurch entsteht zusätzlicher Verbindungsaufwand, längere Zugriffszeiten, und wenn es mal durch Zufall kommen sollte, dass die 300 Online-User gleichzeitig auf die Skripte zugreifen, habe ich wirklich ein Problem, ich meine 300x2 Seiten die gleichzeitig aufgerufen werden könnten, dann noch ein Paar Zugriffe von außen (also nicht registrierte User, die einfach die Page anschauen) könnten locker 800 gleichzeitige Verbindungen schaffen und das ist eindeutig mehr als maximale Anzahl der persistenten Verbindungen, die aufgebaut werden können. (Vorausgesetzung ist natürlich, dass nur ein MySQL-User verwendet wird)

Oder sehe ich das falsch?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11578
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Zugriffszeiten

Post by Joe User » 2004-05-26 11:08

Lies Dir die Referenz zu mysql_pconnect mal sehr genau durch, dann erkennst Du Deinen Denkfehler selbst: http://de2.php.net/manual/en/function.m ... onnect.php
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

evgueni
Posts: 78
Joined: 2003-02-14 13:48
Location: Ilmenau

Re: Zugriffszeiten

Post by evgueni » 2004-05-26 15:45

Hm... Na gut, durchgelesen, obwohl ich das schon mehrmals gemacht habe (auch die deutsche Ã?bersetzung)
First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.
Und genau das brauche ich doch!

Dass die Verbindung nicht geschlossen wird, ist in meinem Fall nicht schlimm, weil ich sie doch ständig brauche.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11578
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Zugriffszeiten

Post by Joe User » 2004-05-26 17:46

evgueni wrote:Dass die Verbindung nicht geschlossen wird, ist in meinem Fall nicht schlimm, weil ich sie doch ständig brauche.
Deutlicher geht es kaum: http://www.php.net/manual/en/features.p ... ctions.php
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

evgueni
Posts: 78
Joined: 2003-02-14 13:48
Location: Ilmenau

Re: Zugriffszeiten

Post by evgueni » 2004-05-28 13:54

Also ich habe gestern nochmal darüber nachgedacht und habe noch eine Frage, um es komplett verstehen zu können:

Kann ein Apache-Kindprozess immer nur einen Zugriff abarbeiten, oder auch mehrere?

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Zugriffszeiten

Post by oxygen » 2004-05-28 14:15

evgueni wrote:Also ich habe gestern nochmal darüber nachgedacht und habe noch eine Frage, um es komplett verstehen zu können:

Kann ein Apache-Kindprozess immer nur einen Zugriff abarbeiten, oder auch mehrere?
Immer eine Verbindung gleichzeitig. Da im Normalfall Keep Alive aktiviert ist, gibt es eine Child pro Client.

evgueni
Posts: 78
Joined: 2003-02-14 13:48
Location: Ilmenau

Re: Zugriffszeiten

Post by evgueni » 2004-05-28 15:22

achso, danke für die info!

Das war der Fehler in meinen Ã?berlegungen,
dann habe ich mit den persistenten Verbindungen wirklich
nicht weniger Verbindungen zu mysql.

Aber ich lass sie trotzdem bestehen, denn z.Z. habe ich kein Problem
mit den max_connections und wenn ich persistente Verbindungen
verwende entfällt doch der zusätzliche Verbindungsaufwand.

Danke für eure Hilfe!

User avatar
Joe User
Project Manager
Project Manager
Posts: 11578
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Zugriffszeiten

Post by Joe User » 2004-05-28 15:43

evgueni wrote:wenn ich persistente Verbindungen
verwende entfällt doch der zusätzliche Verbindungsaufwand.
Stattdessen muss ständig geprüft werden, ob bereits eine passende Conection besteht und ob diese zudem noch ungenutzt ist...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

evgueni
Posts: 78
Joined: 2003-02-14 13:48
Location: Ilmenau

Re: Zugriffszeiten

Post by evgueni » 2004-05-28 15:57

ungenutzt??? verwirrend....

Also wenn ein httpd-Prozess eh nur einen Zugriff gleichzeitig abarbeiten kann, dann ist für ihn "seine" persistente Verbindung doch immer ungenutzt (am Anfang der Abarbeitung)!

Ja, und ich glaube aber trotzdem, dass das Prüfen immer viel einfacher und schneller ist als das Anlegen bzw. Verbinden!