kostenloser Webspace werbefrei: lima-city


mysql_pconnect()

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    voloya

    voloya hat kostenlosen Webspace.

    Hallo :wave:

    Ich würde gerne wissen was ressourcensparender ist, mysql_connect oder mysql_pconnect.
    Ja, es gibt hier schon Threads und ich habe sie mir durchgelesen. Mehrere Quellen suggerierten mir, dass pconnect auf Systemen mit wenig CPU-Auslastung besser sei, connect auf Systemen mit ausreichend RAM.
    http://www.php.net/manual/en/features.persistent-connections.php
    https://www.lima-city.de/thread/connect-und-pconnect-mysql-mit-php

    Jetzt geht es mir aber um bestimmte Beispielszenarien:

    1. Der Webspaceanbieter limitiert die Zugriffe auf die Datenbank pro Stunde.
    -> pconnect sollte in diesem Fall hilfreich sein, oder? Wenn nur 1000 Verbindungen pro Stunde (wie hier bei LC) erlaubt sind dann würden mit pconnect doch theoretisch 1000 Besucher pro Stunde auf die Seite kommen können.
    Auch wäre hier interessant für wie lange die Verbindungen dann offen bleiben, gibt es auch für gleichzeitige Verbindungen Limits und wie finde ich das heraus?

    2. DDoS-Angriff.
    Wenn ein Server mit gigabit-Anbindung meine Seite aufruft und mit pconnect auf die Datenbank zugegriffen wird sollte dies doch eine stark reduzierte Belastung im Vergleich zu connect sein.
    Es wäre dann aber blöd wenn bei einem Angriff von einem Botnetz irgendwann 10 Millionen Verbindungen offen sind. :wow:

    -> was ist für jedes Beispiel am besten?

    mfg :wave:

    Beitrag zuletzt geändert: 27.5.2012 19:47:46 von voloya
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    voloya schrieb:
    1. Der Webspaceanbieter limitiert die Zugriffe auf die Datenbank pro Stunde.
    -> pconnect sollte in diesem Fall hilfreich sein, oder? Wenn nur 1000 Verbindungen pro Stunde (wie hier bei LC) erlaubt sind dann würden mit pconnect doch theoretisch 1000 Besucher pro Stunde auf die Seite kommen können.
    Auch wäre hier interessant für wie lange die Verbindungen dann offen bleiben, gibt es auch für gleichzeitige Verbindungen Limits und wie finde ich das heraus?
    Mit pconnect können mehr als 1000 Benutzer auf die Webseite, da ja die Verbindung ja offen bleibt.
    Es gibt ein Limit für maximale gleichzeitige Verbindungen.

    Bei connect wird halt jedes mal eine Verbindung aufgemacht, SQL ausgeführt und am ende wieder geschlossen. Beim pconnect wird die Verbindung hingegen nur 1x geöffnet und bleibt offen...

    Beim DDoS hast du noch die Begrenzung der maximalen gleichzeitigen Verbindungen... also mit den 10 mio Verbindungen gleichzeitig wirds wohl nichts.
  4. g****e

    pconnect hängt stark vom overhead ab. Oft liest man, es sei gut, besonders für gut besuchte Seiten, aus dem einfachen Faktum raus, dass dann der Overhead nicht ständig gebraucht wird, es müssen nicht endlos viele Sockets aufgebaut werden. Hier würde pconnect bestimmt gut helfen. Doch wenn die Seite wenig besucht ist, dann leitet die pconnect zu einer längen unnötigen Last.
    Hier auf Lima würde ich sagen lohnt sich pconnect zb, weil man dann eine länger haltene Verbindung hat, und nicht im Notfall warten muss, bis der MySQL Server von anderen Usern freigegeben wird. Das wäre aber bei einer schlecht besuchten Seite nicht im Sinne des Fair Uses, weil es einfach nur egoistisch ist.
    Also hier auf Lima lohnt es sich sicher, aber auch nur, weil es einen externen Server für die Verbindung gibt. Ansonsten, wenn alles auf einen Server bleibt, würde ich mal sagen, bleibt es sich gleich.

    Soweit von mir.
    Liebe Grüße
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    ggamee schrieb:
    Also hier auf Lima lohnt es sich sicher, aber auch nur, weil es einen externen Server für die Verbindung gibt. Ansonsten, wenn alles auf einen Server bleibt, würde ich mal sagen, bleibt es sich gleich.
    Auf einer Seite wie hier zahlt sich pconnect aus (auf lima-city gehostet), da jeder User alle 2 Sekunden ein Update macht bei dem aus der MySQL-Datenbank gelesen wird. Ohne pconnect ist das Limit von maximalen Verbindungen pro Stunde sehr schnell überschritten...

    Und lauter offene MySQL-Verbindungen verbrauchen Sockets, bei schlecht besuchten Seiten also reine Verschwendung.

    Der Overhead der bei pconnect wegfällt ist ständig neue Verbindungen aufmachen und wieder schließen, da Verbindungen ja weiterverwendet werden.
  6. Autor dieses Themas

    voloya

    voloya hat kostenlosen Webspace.

    Hallo :wave:

    Vielen Dank für die Antworten!

    hackyourlife schrieb:
    Und lauter offene MySQL-Verbindungen verbrauchen Sockets, bei schlecht besuchten Seiten also reine Verschwendung..


    Da du ja pconnect bei deiner Seite empfiehlst, die alle 2 Sekunden eine Abfrage macht, wird wohl pconnect auch auf einer Webseite sinnvoll sein, die jeglichen Inhalt aus einer Datenbank lädt?

    Wo kann ich denn sehen wie viele Verbindungen gleichzeitig zugelassen sind? Und was passiert wenn die erreicht werden, werden dann einfach alte geschlossen? Wie lange hält so ein pconnect überhaupt?

    mfg :wave:
  7. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    voloya schrieb:
    Da du ja pconnect bei deiner Seite empfiehlst, die alle 2 Sekunden eine Abfrage macht, wird wohl pconnect auch auf einer Webseite sinnvoll sein, die jeglichen Inhalt aus einer Datenbank lädt?
    Solange du keine 1000 Verbindungen pro Stunde zusammenbringst brauchst du das nicht... erst bei extrem vielen Verbindungen bringt das was, also bei einem Chat oder bei der verlinkten Seite von mir.

    voloya schrieb:
    Wo kann ich denn sehen wie viele Verbindungen gleichzeitig zugelassen sind?
    In der MySQL-Konfiguration

    voloya schrieb:
    Und was passiert wenn die erreicht werden, werden dann einfach alte geschlossen?
    Dann sollten keine neuen Verbindungen mehr angenommen werden (?). Deshalb ist es nicht Zielführend wenn jeder hier mysql_pconnect verwendet.

    voloya schrieb:
    Wie lange hält so ein pconnect überhaupt?
    Die sollte ewig halten... ich vermute aber dass es da auch ein Timeout geben wird.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!