http session Listener

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

  • http session Listener

    Hi,

    angenommen ich möchste überprüfen wann eine Session erzeugt und wann diese wieder zerstört wurde, beispielsweise um die aktuelle Anzahl an Besuchern meiner Webseite zu ermitteln, lässt sich das mit php IRGENDWIE und einigermaßen perfomant verwirklichen? Wenn es nicht mit php direkt geht, wie lässt es sich möglicherweise dann anstellen.


    ich denke an so etwas ähnliches wie die Session Listener, die bei java existieren.


    gruß
    und danke für eure Hilfe

  • #2
    Sessiondaten in der Datenbank speichern und dann kannst du damit machen was du willst.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      das ist eine Möglichkeit bei kleinen Anwendungen, aber angenommen ich habe 1000 Besucher pro Minute, dann ist das eine unnötige last für die Datenbankserver, gibt es weitere Möglichkeiten?

      ---abgesehen davon dass man bei einer solchen Besucherzahl kein php mehr benutzen sollte :-)
      Zuletzt geändert von sypr0; 15.01.2009, 18:41.

      Kommentar


      • #4
        Ich kenne mindestens eine Website mit 4.000 Besuchern pro Minute, die läuft auf (fast) komplett PHP und die Sessions liegen in der Datenbank.

        Potentiell wissen die Leute mit Stern hier schon wovon sie reden und was sie empfehlen (auch wenn mir mindestens ein Gegenbeispiel einfällt, aber Ausnahmen bestätigen bekanntlich die Regeln).

        Du hast nur die Möglichkeit die Session-Abstraktion zu umgehen und direkt auf den Daten zu operieren - oder einen parallelen Mechanismus zu verwenden.

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Ich kenne mindestens eine Website mit 4.000 Besuchern pro Minute, die läuft auf (fast) komplett PHP und die Sessions liegen in der Datenbank.
          Weißt du wie das Sessionlocking dort implemetiert ist?
          Wir werden alle sterben

          Kommentar


          • #6
            Original geschrieben von combie
            Weißt du wie das Sessionlocking dort implemetiert ist?
            Du meinst in dem Fall denke ich, dass parallele Nutzungen einer Session sich nicht gegenseitig behindern?
            Das ist bei dieser Website nicht gegeben. An den Daten in der Session wird potentiell wenig geändert, dementsprechend wurde darauf kein Augenmerk gelegt.
            Prinzipiell kann das ja eh nur zum Problem werden, wenn man - basierend auf einem Wert in der Session - einen Wert in der Session ändern möchte. Mir fällt da spontan nicht mal ein Beispiel zu ein...

            Ansonsten bietet es sich immer an in einschlägigen Blogs zu lesen:
            http://www.mysqlperformanceblog.com/...atabase-based/

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              Das ist bei dieser Website nicht gegeben.
              OK!
              Bisher konnte ich noch keinen zuverlässigen DB Handler finden/bauen.


              Ich habe mir mal die Augen wund gesucht um solche Race Conditions zu entecken. Nur um festzustellen, dass das damalige session.save_path Filesystem kein flock() unterstützt.
              Wir werden alle sterben

              Kommentar


              • #8
                Wieso sollte denn eine Webseite mit 1000 Besuchern in der Minute nicht mehr in PHP realisiert werden???
                PHP ist mächtig und wird immer besser.
                PHP ist auch durchaus in der Lage mit einem solchen Besucherstrom zurecht zu kommen.
                Die Frage ist wohl eher, ob denn der Programmierer damit zurecht kommt
                Mir sind durchaus Communities bekannt, die sogar weit mehr als diese 1000 Besucher in der Minute schaffen, auf PHP-Basis laufen und einen teilweise vor Langeweile gähnenden Datenbankload haben.

                Du brauchst die als Beispiel nur mal Facebook ansehen... Kennst du die Dateiendung? *lach*
                Memcache sei dank, es geht.

                Kommentar


                • #9
                  naja, php ist ne interpretersprache und damit langsamer als andere sprachen die ich kompilieren kann, daher dacht ich mir das es (möglicherweise) nicht sinnvoll (abhängig von der Art der Anwendung) ist php zu verwenden bei Seiten mit extrem hohem Traffic, zumal ich nicht weiß ob ich eine PHP-Anwendung auf verschiedene Server auslagern kann um die CPU-Last zu verteilen, wenn die Anschaffung von Mehrkernprozessoren nicht mehr ausreicht.

                  ich werde bei Gelegenheit mal genauer prüfen wie gut die DB mit dem Traffic zurecht kommt, wenn ich die Sessionverwaltung in die DB auslagere.


                  Potentiell wissen die Leute mit Stern hier schon wovon sie reden und was sie empfehlen
                  Ich habe deine Empfehlung ernst genommen! Ich betrachte aber alles kritisch :-)

                  Kommentar


                  • #10
                    Original geschrieben von sypr0
                    nicht sinnvoll (abhängig von der Art der Anwendung) ist php zu verwenden bei Seiten mit extrem hohem Traffic, zumal ich nicht weiß ob ich eine PHP-Anwendung auf verschiedene Server auslagern kann um die CPU-Last zu verteilen
                    Du kannst das mit 'm Load-Balancer durchaus bewerkstelligen, ja.
                    Und das vorhin schon angesprochene Memcache ist ebenfalls Mehrserver-fähig.

                    Kommentar


                    • #11
                      Und mit APC bekommst du auch noch einen Opcode-Cache.
                      [FONT="Helvetica"]twitter.com/unset[/FONT]

                      Shitstorm Podcast – Wöchentliches Auskotzen

                      Kommentar


                      • #12
                        kewl thx, dann werd ich mich mit der thematik load balancing mal beschäftigen.

                        OffTopic:

                        Würdet ihr also sagen, dass PHP als Interpretersprache mittlerweile schon mit Java und seinen Servlets "mithalten" kann unter Betrachtung der Performance, Skalierbarkeit usw...?

                        Kommentar


                        • #13
                          Du vergleichst Äpfel mit Birnen!!
                          Wir werden alle sterben

                          Kommentar


                          • #14
                            ich vergleiche 2 web frameworks

                            Kommentar


                            • #15
                              Ne, du vergleichst zwei Programmiersprachen.
                              [FONT="Helvetica"]twitter.com/unset[/FONT]

                              Shitstorm Podcast – Wöchentliches Auskotzen

                              Kommentar

                              Lädt...
                              X