script mit imap funktion extrem langsam

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • script mit imap funktion extrem langsam

    hallo!

    ich habe verschiedene scripte mit imap funktionen geschrieben, die alle funktionieren, jedoch extrem lange dauern. für das laden des scriptes, das die verbindung mittels imap_open zu einem externen pop3 server herstellt benötigt das laden ca. 10-15 sekunden.

    habt ihr eine idee wie ich das beschleunigen könnte? evtl ist dieses problem in den neuen php versionen behoben? ich verwende zur zeit 4.2.2!

    ps: ich will weiterhin mit den imap funktionen arbeiten, und nicht z.b. mit fsocketopen,...

  • #2
    Führe mal bitte folgendes durch:

    Füge ganz am Anfang (nach <?php natürlich )

    den Code ein:

    PHP-Code:
    $debug_starttime = array ();
    $debug_starttime = @explode (" ",(@microtime ()));
    $debug_starttime[1] = @time (); 
    An verschiedenen Stellen im Script - es bietet sich an vor allem vor und nach den imap-Funktionen eine Abfrage einzufügen - dann den folgenden Code:

    PHP-Code:
    $debug_thistime = array ();
    $debug_thistime = @explode (" ",(@microtime ()));
    $debug_thistime[1] = @time ();

    echo 
    "Zeit: ".(($debug_thistime[1] - $debug_starttime[1]) + ($debug_thistime[0] - $debug_starttime[0]))."<br />"
    Die Ergebnisse zeigen an, wieviel Zeit das Script an den jeweiligen Punkten schon verbraucht hat.
    Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

    Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

    Wer suchet, der findet: http://www.php-resource.de/forum/search.php
    Immer noch nichts? Dann frag!


    Mit freundlichen Grüßen,
    @4u

    Kommentar


    • #3
      also ich hab auch versch. imap sachen, und die laufen relativ zügig. vielleicht unnötige schleifen, etc im code. was bringt der o.g. zeittest?

      Kommentar


      • #4
        also folgendes: die verbindung wird sehr schnell hergestellt, und auch die daten der ersten 7 emails (absender und betreff) werden innerhalb von 2-3 sekunde angezeigt. dann jedoch stockt das script, und erst nach 15 sekunden werden die restlichen emails, dann auch sehr flott angezeigt. insgesammt sind 14 emails auf dem server.

        vorher hatte ich die ausgabe aller emails in einer tabelle, es dauerte dann extrem lange (20 sekunden), da der browser wartete bis alle daten da sind und dann die komplette tabelle anzeigt. desshalb dachte ich die verbindung dauert so lange. so ist es aber ja jetzt nicht. hat jemand ne ahnung woran die extreme verzögerung nach dem abrufen von 7 emails liegt?

        Kommentar


        • #5
          ach ja, das ist das (vereinfachte) script:

          PHP-Code:
          $mbox imap_open ("{pop.server.de/pop3:110}INBOX""benutzer""kennwort");

          $anzahl imap_num_msg($mbox);

          echo 
          "Anzahl der Emails: ".$anzahl;
          echo 
          "<br><br>";

          for (
          $i=1;$i<=$anzahl;$i++) {

              
          $msg_header imap_headerinfo($mbox,$i);
              
              echo 
          $msg_header->from[0]->mailbox."@".$msg_header->from[0]->host;
              echo 
          "(".$msg_header->from[0]->personal.")";
              echo 
          "<br>";
              
              echo 
          $msg_header->subject;
              echo 
          "<br>";
              
              
          $datum $msg_header->udate;
              echo 
          date("d.m.Y H:i",$datum);
              
              echo 
          "<br><br><br>";

          Kommentar


          • #6
            Abgesehen von dem üblichen "Es ist nicht gut for-Schleifen bei externen Datenanbindungen zu benutzen" kann ich leider das Problem nur auf deinen POP3-Account schieben; genauer gesagt, dass der POP3-Server nur langsam antwortet.
            Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

            Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

            Wer suchet, der findet: http://www.php-resource.de/forum/search.php
            Immer noch nichts? Dann frag!


            Mit freundlichen Grüßen,
            @4u

            Kommentar


            • #7
              Das gleiche würde ich auch sagen!

              Habs jetzt mit 6 (auch ne riesengroße multipart) getestet. hab grad noch ne paar mails rein geschickt. Baut sich in ner halben sec auf.

              Kommentar


              • #8
                hmm...

                das ist ein 1und1 server! sollte eigentlich schon genug performance haben! na ja, ich werd mal noch rumprobieren!

                danke euch beiden !!!

                Kommentar


                • #9
                  denke mal nicht, dass du nen root bei denen hast. und dann bist du ja auch nicht alleine bei denen auf dem server.

                  hast du vielleicht ne große mail dadrin?

                  Kommentar


                  • #10
                    Also selbst mit ner 3MB-Mail im Postfach macht er keine Probleme:

                    Inhalt der Mailbox:

                    [Kein Betreff] 27.05.2003 3.4M
                    [Kein Betreff] 27.05.2003 2.7k
                    [Kein Betreff] 27.05.2003 2.7k
                    afasdf 27.05.2003 2.6k
                    website 27.05.2003 29.2k
                    anmelden 13.04.2003 2.6k
                    Hallo, wie geht es dir? i... 13.04.2003 2.7k
                    TEst 13.04.2003 2.5k
                    ABMELDEN 13.04.2003 2.7k
                    Hallo! 13.04.2003 2.6k

                    EDIT:
                    Link entfernt
                    Zuletzt geändert von TobiaZ; 27.05.2003, 21:00.

                    Kommentar


                    • #11
                      also es ist ein root server !

                      ich habe das script auf einem anderen dedizierten server getestet, und innerhalb von einer halben sekunde war alles aufgebaut, wie es sein sollte...

                      es liegt also irgendwie an der performance des servers, und nicht am script oder sonst irgendwas! da muss ich jetzt mal nachschauen.

                      danke nochmals

                      Kommentar


                      • #12
                        jo, das habe ich mir auch gedacht, bei mir liefs ja auch ohne Probs.

                        Ist der Mailserver denn auch auf dem Root installiert? Oder muss der da extern hin? Wie war denn die Erfahrung mit anderen Scripten?

                        BTW: An der Performance sollte (darf) es eigentlich nicht scheitern, schließlich sind die dinger ja nicht schlecht ausgestattet.

                        Kommentar


                        • #13
                          Das wird an der Sicherheits einstellung des Servers liegen.

                          Auf meinem Root.Server braucht das Script auch ein wenig bis ich die Mails habe.
                          *winks*
                          Gilbert
                          ------------------------------------------------
                          Hilfe für eine Vielzahl von Problemen!!!
                          http://www.1st-rootserver.de/

                          Kommentar

                          Lädt...
                          X