tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
431
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    scrippi scrippi ist offline Mitglied
    Registriert seit
    Oct 2008
    Beiträge
    13
    Guten Tag gemeinde,

    ich habe folgendes Problem.

    Ich öffne eine Datenbankverbindung über mysql_pconnect für einen Multithreaded Eventhandler, der ganz schön viel zutun hat. Ab und zu schmiert die aber ab, was ich sher suboptimal finde, da es innerhalb eines Prozesses zu gravierenden Fehlern führen kann.

    Ich hatte gehofft, dass die Lösung pconnect zu verwenden mir ein wenig helfen wird, da PHP vom Konzept her ja eigentlich nicht auf Arbeit mit Threads ausgelegt ist, zu mal die Klasse Thread eine eigene Klasse ist, welche auf die Funktionen pcnt und posix zugreift.

    Frage: Was kann man dagegen unternehmen, dass die Verbindung andauernd weg fliegt?

    Sollte ich MySQLi statt MySQL verwenden? Liegt es möglicherweise daran, dass ich eine Taktung von 10000 Mikrosekunden bei usleep habe, ehe eine Abfrage erstellt wird?(Eigentlich nicht, solange er nur die events abfragt, läuft ja auch alles, nur wenn mehrere Prozesse parallel arbeiten kommt es manchmal zu sowas)

    Würde mich sehr über einen Rat freuen.


    MfG
    scrippi
     

  2. #2
    scrippi scrippi ist offline Mitglied
    Registriert seit
    Oct 2008
    Beiträge
    13
    Anmerkung: der Umstieg auf MySQLi hat das problem nicht behoben leider
     

  3. #3
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.394
    Hi,

    hab auf die schnelle mal ne Seite im Handbuch zum MySQL gefunden, eventuell hilft dir das weiter:
    http://dev.mysql.com/doc/refman/5.0/en/gone-away.html

    Wenn du mit Threads arbeitest, ist deine MySQL-Verbindung auch so ausgelegt, dass eine Abfrage nach der anderen raus geht und nicht mehrere parallel?

    In MySQL gibt es auch eine Einstellung in der du die maximale Anzahl an Queries / Benutzer und Stunde einstellen kannst. Eventuell wird dieser Wert überschritten?

    Gruß
    BK
    Geändert von Bratkartoffel (22.12.11 um 18:21 Uhr)
     
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  4. #4
    Avatar von Napofis
    Napofis Napofis ist offline require 'brain.php';
    Registriert seit
    Jun 2007
    Ort
    Bayern
    Beiträge
    587
    Hallo,

    es könnte auch daran liegen das die Datenmenge zu groß ist die du an den Server schickst.
    Ich hatte auch mal dieses Problem, nachdem ich die Querys verkleinert hatte ging es.

    Gruß Napofis
     

  5. #5
    scrippi scrippi ist offline Mitglied
    Registriert seit
    Oct 2008
    Beiträge
    13
    @Bratkartoffel: Das Problem ist ja, gerade WEGEN den Threads, kann es dazu kommen dass parellele Abfragen passieren. Habe den Mainthread der permanent sich über eine Abfrage Events in die Liste zieht und für jeden Event wird dann ein Thread gestartet, der den abarbeiten soll.

    Habe den "Eventquery" der aus 3 UNIONs besteht mal in ein View gepackt so dass ich nur noch "SELECT *FROM v_events" aufrufe.

    Auch habe ich die Taktung von 0.01 Sekunden auf 0.1 runtergesetzt, was aber absolut ausreichend ist. Dadurch wurde es auch ein bisschen besser
     

  6. #6
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Arbeitest du mit Prepared Statements? Evtl. ist das noch ein Performance-Loch, also ohne PS. Hast du schon mal darüber nach gedacht, Stored Procedures zu verwenden?
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

Ähnliche Themen

  1. MySQL Problem mit PHP evt. Server
    Von rflx im Forum Relationale Datenbanksysteme
    Antworten: 23
    Letzter Beitrag: 09.07.07, 16:23
  2. MySQL Problem mit PHP evt. Server
    Von rflx im Forum PHP
    Antworten: 5
    Letzter Beitrag: 09.07.07, 14:21
  3. MySQL Datentransfer von Server zu Server - Problem mit Umlauten
    Von ronin im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 25.12.06, 22:16
  4. [MySQL Server 5.0] Problem beim SQL-Statement-Bauen
    Von Markus_K im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 30.11.06, 09:10
  5. MySQL oder Root Server Problem?
    Von grubi im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 23.11.05, 11:26

Stichworte