Ankündigung

Einklappen
Keine Ankündigung bisher.

Statistik

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

  • Statistik

    Hallo,

    ich stehe vor einen kleinem Problem. Ich frage mich gerade, wie ich die Statistik, die ich selbst erstellen möchte, speichern soll.
    Ich wollte ungefähr auflisten:
    • 100 letzten Datensätze (IP, Referrer, besuchte Seiten, Datum)
    • Suchbegriffe (30)
    • Referrer (30)
    • 7 Tage-Statistik
    • Monatsstatistik
    • Gesamtstatistik
    Soll ich das jetzt eher in einer DB speichern lassen, oder in einer (mehrere) Textdatei(en). Denn wenn ich es in einer DB speichere, gibt es ständig Zugriff und zwar doppelt: Inhalt und Statistik und die DB wird so zugemüllt...

    Was meint ihr dazu (vor allem Interessiert mich Ingos Meinung, der immer contra-DB war)


  • #2
    AW: Statistik

    Naja... DB is schon ratsam ... wenn de backup machst ... dann haste keine extra dateien.

    Kommentar


    • #3
      AW: Statistik

      Hmm, eine Datei kann ich aber auch schnell Downloaden und so schlimm ist der Verlust von statistischen Werten auch nicht.
      Mir geht es hauptsächlich um die Zugriffszeit.

      Kommentar


      • #4
        AW: Statistik

        Bei einer Tabelle, man halt schon leicht zugreifen, und Inhalte einsehen. Das an sich ist ja nicht schlimm, aber das stört deine Besucher! Eine Datenbank ist sicherer und wenn du gut füllst, wird sie nicht zugemüllt!
        sigpic
        Socialbit - Wir machen Apps!

        Kommentar


        • #5
          AW: Statistik

          Zitat von mi-schi Beitrag anzeigen
          Hallo,

          ich stehe vor einen kleinem Problem. Ich frage mich gerade, wie ich die Statistik, die ich selbst erstellen möchte, speichern soll.
          Ich wollte ungefähr auflisten:
          • 100 letzten Datensätze (IP, Referrer, besuchte Seiten, Datum)
          • Suchbegriffe (30)
          • Referrer (30)
          • 7 Tage-Statistik
          • Monatsstatistik
          • Gesamtstatistik
          Soll ich das jetzt eher in einer DB speichern lassen, oder in einer (mehrere) Textdatei(en). Denn wenn ich es in einer DB speichere, gibt es ständig Zugriff und zwar doppelt: Inhalt und Statistik und die DB wird so zugemüllt...

          Was meint ihr dazu (vor allem Interessiert mich Ingos Meinung, der immer contra-DB war)
          ob du eine datenbank benutzen solltest oder nicht, hängt von der anzahl der schreib-zugriffe ab. textdateien sind (viel) schneller zu lesen und zu schreiben, eben weil kein extra prozess dazwischensteht. warum es datenbanken gibt, ist vor allem dem großen problem der textdateien zu verdanken: race-conditions.

          eine race-condition sieht so aus:

          prozess 1 liest datei.txt
          prozess 1 arbeitet
          ----prozess 2 liest datei.txt
          prozess 1 schreibt datei.txt mit neuen daten
          ----prozess 2 schreibt datei.txt mit seinen daten die allerdings auf dem gelesen beruhen bevor prozess 1 geschrieben hat -> datenverlust ist die folge.
          bei einem counter würde sich das so bemerkbar machen: (ein count von 10 wird erwartet, ein count von 8 kommt raus)

          gelesener wert - geschriebener wert
          0 - 1
          1 - 2
          1 - 2

          2 - 3
          3 - 4
          4 - 5
          4 - 5

          5 - 6
          6 - 7
          7 - 8
          für einen counter und ähnliches sind dateien also (fast) nicht zu gebrauchen.

          bei einer DB wird dir das nicht passieren, dort gibts immer nur einen prozess der die datenbank schreibt.

          aber nun zu deinem problem:
          wie dus sehr akkurat hinbekommst, ist wenn du die datei im append-mode (a) öffnest und nur daten anfügst. anzeigen kannst du nun nur 30 zeilen ab dem ende (siehe fseek()).

          diese datei müsste öfters gewartet werden. das einfachste wäre von hand, bei einer automatischen wartung müsstest du die datei mittels flock() sperren (dies aber bei ALLEN lese und schreibevorgängen).

          Bei einer Tabelle, man halt schon leicht zugreifen, und Inhalte einsehen. Das an sich ist ja nicht schlimm, aber das stört deine Besucher! Eine Datenbank ist sicherer und wenn du gut füllst, wird sie nicht zugemüllt!
          ich verstehe kein wort.
          AC/DC Fanpage www.ifyouwantblood.de
          Nein zur Zensur im Internet und anderswo - Anonymous

          Kommentar


          • #6
            AW: Statistik

            Danke Brian, sehr ausführlich.

            Nochmal zu Verständnis:
            Zwei User gehen gleichzeitig auf die HP.
            Bei beiden liest das Script die Textdatei aus und erhält einen Wert von 2.
            Diesen Wert erhöht das Script um eins.
            Somit wird zweimal 3 gespeichert, statt 4.
            Richtig?

            zu fseek:
            Die Funktion zählt doch von Anfang an:
            Setzt den Dateizeiger einer mit handle angegebenen Datei auf eine neue Position. Diese neue Position, angegeben in Bytes vom Begin der Datei an
            ein Beispiel-Datensatz:
            Code:
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            Und ich möchte die letzte Zahl ausgeben, wie soll das mit fseek gehen?
            Ich würde es mit file() und count() machen:
            file() ließt die Textdatei
            count() zählt die Zeilen
            Ich lasse die letzte Zeile ausgeben

            Eigentlich kann man ja automatisch mit unset die "alten" Zeilen löschen:
            mit file() auslesen
            mit count() zählen
            Differenz zwischen den "alten", nicht mehr benötigten Zeilen und den benötigten Zeilen ausrechnen
            mit for() Schleife und unset($file[$x]) die Zeilen löschen.

            Also ist eine Statistik mit Textdateien (alles verwalten und automatisch löschen...) auch möglich und schneller.

            Hat sonst noch jemand eine Meinung dazu?

            Kommentar


            • #7
              AW: Statistik

              Zitat von mi-schi Beitrag anzeigen
              Danke Brian, sehr ausführlich.

              Nochmal zu Verständnis:
              Zwei User gehen gleichzeitig auf die HP.
              Bei beiden liest das Script die Textdatei aus und erhält einen Wert von 2.
              Diesen Wert erhöht das Script um eins.
              Somit wird zweimal 3 gespeichert, statt 4.
              Richtig?
              genau. das passiert, wenn man die datei richtig sperrt, nicht häufig, aber es passiert. aber je mehr benutzer, desto häufiger passierts. deswegen ja die frage, wieviele schreibvorgänge.

              zu fseek:
              Die Funktion zählt doch von Anfang an:
              nein, lies dir den artikel im manual nochmals durch.

              Zitat von mi-schi Beitrag anzeigen
              ein Beispiel-Datensatz:
              Code:
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              Und ich möchte die letzte Zahl ausgeben, wie soll das mit fseek gehen?
              Ich würde es mit file() und count() machen:
              file() ließt die Textdatei
              count() zählt die Zeilen
              Ich lasse die letzte Zeile ausgeben
              der ansatz mit fseek() sieht eher fopen(), damit du nicht immer die komplette datei, die bei den daten die du sammeln willst ziemlich groß werden kann, in den speicher liest.

              mit fseek() kannst du die datei, mit einem negativen offset, rückwärts durchgehen. aus dem stehgreif kann ich das jetzt auch nicht, das müsste ich ausprobieren.

              beim manual steht aber noch ne userfunktion, die die letzen reihen ausgeben soll:

              PHP-Code:
              function read_file($file$lines=30)
              {
                     
              $handle fopen($file"r");
                     
              $linecounter $lines;
                     
              $pos = -2;
                     
              $beginning false;
                     
              $text = array();
                     while (
              $linecounter 0) {
                       
              $t " ";
                       while (
              $t != "\n") {
                         if(
              fseek($handle$posSEEK_END) == -1) {
              $beginning true; break; }
                         
              $t fgetc($handle);
                         
              $pos --;
                       }
                       
              $linecounter --;
                       if(
              $beginningrewind($handle);
                       
              $text[$lines-$linecounter-1] = fgets($handle);
                       if(
              $beginning break;
                     }
                     
              fclose ($handle);
                     return 
              array_reverse($text); // array_reverse is optional: you can also just return the $text array which consists of the file's lines. 

              Eigentlich kann man ja automatisch mit unset die "alten" Zeilen löschen:
              mit file() auslesen
              mit count() zählen
              Differenz zwischen den "alten", nicht mehr benötigten Zeilen und den benötigten Zeilen ausrechnen
              mit for() Schleife und unset($file[$x]) die Zeilen löschen.
              sagte ich ja, nur müsstest du die datei jedesmal mittels flock() sperren. das kann aber auch zu inkonsistenten führen, denn auch mit flock() ist nicht alles so 100%ig. außerdem kann die datei, wie gesagt, ziemlich groß werden und du musst ja nicht wirklich immer als in den speicher laden.

              Also ist eine Statistik mit Textdateien (alles verwalten und automatisch löschen...) auch möglich und schneller.
              jap.
              Zuletzt geändert von Brian; 28.09.2007, 19:15.
              AC/DC Fanpage www.ifyouwantblood.de
              Nein zur Zensur im Internet und anderswo - Anonymous

              Kommentar

              homepage-forum.de - Hilfe für Webmaster! Statistiken

              Einklappen

              Themen: 56.808   Beiträge: 430.110   Mitglieder: 28.559   Aktive Mitglieder: 48
              Willkommen an unser neuestes Mitglied, daetr2095.

              Online-Benutzer

              Einklappen

              190 Benutzer sind jetzt online. Registrierte Benutzer: 1, Gäste: 189.

              Mit 3.502 Benutzern waren am 23.01.2020 um 18:20 die meisten Benutzer gleichzeitig online.

              Die neuesten Themen

              Einklappen

              • arnego2
                Antwort auf SameSite Cookie
                Eine rewrite rule schreibt die URL um.
                Als Beispiel: Wer keine www als Subdomaine vor seinem Seitennamen haben will nimmt eine Rewrite rule die alle Besucher von www.deine-domain.de auf deine-domain.de umleitet.
                So wird auch dual content vermieden.
                Wozu setzt du einen Cookie. Die...
                Gestern, 14:41
              • arnego2
                Antwort auf Formularvalidierung - Wie macht ihr es?
                Die Frage ist ob das mit Corona auch so bleibt.
                Die Ausbildung macht sicher Sinn wenn die Betriebe bei der Strategie bleiben. bei Web komischerweise suchen viele Freelancer um die preise zu drücken. Qualität ist dabei oft kommt der Gedanke erst wenn die Seiten online gehen und nicht das tun...
                Gestern, 14:35
              • arnego2
                Antwort auf LINK prüfen
                In der GSC oder der Google Search Console gibt es die Daten, ich glaube auch in Bing Webmaster Tools, oder der Yandex Console.
                Gestern, 14:21
              • arnego2
                Antwort auf Dynamik der Krise (Update Politik)
                Die Update festeste Lösung die ohne Plugins auskommst ist html5. Der Update von html4 zu 5 hat über 10 Jahre gedauert.
                Der Bäcker ist dafür am besten dran wenn er eine nicht dynamische Seite hat.

                Je aufwendiger es wird desto komplexer sollten es kommen. Sich ein Theme zu nehmen...
                Gestern, 13:30
              • Localfu
                Antwort auf Formularvalidierung - Wie macht ihr es?
                Wow, so teuer, krass. Das Zertifikat hat nicht die gleiche Außenwirkung wie vergleichbar mit einer Berufsausbildung. Wäre das nicht eher interessant für dich in den Bereich eine Ausbildung zu machen? Da hast du einen hohen Zeitaufwand bekommst aber ein Ausbildungszeugnis, dass dir in vielen Bereich...
                Gestern, 12:35

              Die neuesten Beiträge

              Einklappen

              • ST747
                SameSite Cookie
                Hallo,

                ich setze ein eigenes Cookie und hatte jetzt zufällig festgestellt. das Javascript bringt jetzt einen Warnhinweis, dass die Funktion bald
                nicht mehr unterstützt wird, wegen fehlender Angabe Attribute Samesite.
                Standard wird zwar None gesetzt, aber dabei auch Secure=false....
                The SameSite attribute of the Set-Cookie HTTP response header allows you to declare if your cookie should be restricted to a first-party or same-site context.
                05.03.2021, 18:52
              • arnego2
                Antwort auf SameSite Cookie
                Eine rewrite rule schreibt die URL um.
                Als Beispiel: Wer keine www als Subdomaine vor seinem Seitennamen haben will nimmt eine Rewrite rule die alle Besucher von www.deine-domain.de auf deine-domain.de umleitet.
                So wird auch dual content vermieden.
                Wozu setzt du einen Cookie. Die...
                Gestern, 14:41
              • Megabyte
                Formularvalidierung - Wie macht ihr es?
                Hallo Coders...

                Für mein Projekt zur Webmaster-Zertifizierung ist eine der Aufgaben die Erstellung eines kompletten Formulars (also mit ALLEN Elementen wie Checkbox, Select, Radiobuttons etc. Dieses Formular MUSS dreifach (!!!!!!) auf Plausibilität geprüft werden (Pflichtfeld, Syntax,...
                02.03.2021, 22:35
              • arnego2
                Antwort auf Formularvalidierung - Wie macht ihr es?
                Die Frage ist ob das mit Corona auch so bleibt.
                Die Ausbildung macht sicher Sinn wenn die Betriebe bei der Strategie bleiben. bei Web komischerweise suchen viele Freelancer um die preise zu drücken. Qualität ist dabei oft kommt der Gedanke erst wenn die Seiten online gehen und nicht das tun...
                Gestern, 14:35
              • ST747
                LINK prüfen
                hallo, es gibt kostenpflichtige und kostenlose Tools, um alle Links auf der Website zu prüfen.
                es gibt doch öfters mal eine url die nicht mehr funktioniert, da sollte der link entfernt werden.
                gibt es da erfahrung, eine empfehlung?
                gerhard...
                05.03.2021, 22:30
              • arnego2
                Antwort auf LINK prüfen
                In der GSC oder der Google Search Console gibt es die Daten, ich glaube auch in Bing Webmaster Tools, oder der Yandex Console.
                Gestern, 14:21
              • arnego2
                Antwort auf Dynamik der Krise (Update Politik)
                Die Update festeste Lösung die ohne Plugins auskommst ist html5. Der Update von html4 zu 5 hat über 10 Jahre gedauert.
                Der Bäcker ist dafür am besten dran wenn er eine nicht dynamische Seite hat.

                Je aufwendiger es wird desto komplexer sollten es kommen. Sich ein Theme zu nehmen...
                Gestern, 13:30
              • Localfu
                Antwort auf Formularvalidierung - Wie macht ihr es?
                Wow, so teuer, krass. Das Zertifikat hat nicht die gleiche Außenwirkung wie vergleichbar mit einer Berufsausbildung. Wäre das nicht eher interessant für dich in den Bereich eine Ausbildung zu machen? Da hast du einen hohen Zeitaufwand bekommst aber ein Ausbildungszeugnis, dass dir in vielen Bereich...
                Gestern, 12:35
              • Localfu
                Antwort auf Dynamik der Krise (Update Politik)
                Zu PHP: Da sich die Leute nicht weiterentwickeln wollen oder nicht können, ist das eine schwierige Sache eine neue Version mit neuen Funktionsumfang herauszubringen. Es ist wichtig, dass sich das Web weiterentwickelt und dazu gehören auch die Werkzeuge wie Programmiersprachen und den Technologien,...
                Gestern, 12:31
              • daniel5959
                Antwort auf LINK prüfen
                Hallo,

                Googlesuche = broken link check - hier ein Fund in deutsch

                7 Tools für Broken Links >> https://www.hosteurope.de/blog/mit-d...-broken-links/

                daniel5959
                05.03.2021, 23:44
              Lädt...
              X