Hendrik: Besucherzähler mit MySQL - sinnvoll?

Ich habe Bereich einen in dem Informationen aus einer MySQL-Datenbank angezeigt werden. Mit Hilfe einer ID Variable erfolgt die Abfrage in der Datenbank. Da mein Provider mir nur sagt wie oft die Seite (ohne ID-Variable) besucht wurde, würde ich gerne einen Besucherzähler installieren, der den Wert in einer neu angelegten Spalte einfach bei Besuch um 1 erhöht. Ich könnte dann die Gruppen nach Besuchern sortieren, usw. So ist meine Idee...

Meine Frage(n):

Kann es wegen dem vielen Verkehr auf der Seite zu Problemen mit der Datenbank kommen? (Ich laß teilweise ziemlich umfangreiche Scripte laufen)

Gibt es vielleicht andere Möglichkeiten meine Idee umzusetzen?!

  1. yo,

    Kann es wegen dem vielen Verkehr auf der Seite zu Problemen mit der Datenbank kommen? (Ich laß teilweise ziemlich umfangreiche Scripte laufen)

    schwer zu beantworten, da wir deinen traffic und deine umgebung nicht kennen. aber grundsätzlich sollte ein counter keine größeren performance verluste erzeugen. bei tuning gilt immer regel nummero uno, sprich probieren geht über studieren. eine andere verbindliche möglichkeit, es herauszubekommen gibt es nicht.

    Ilja

    1. Danke für die Antwort...

      Mein Traffic ist zwar nicht so hoch aber ich würde gerne wissen, ob es zu Problemem kommen kann, wenn zwei Scripte (oder mehrere) gleichzeitig auf die Datenbank zugreifen bzw. schreiben. Hatte in der Vergangenheit das Gefühl, dass Felder in denen einst etwas stand plötzlich leer waren... kann das sein?

      1. hi hendrik,

        sogut kenn ich mich da noch nich aus aber grundsätzlich steuert den Zugriff dein dbms (Datenbank management system) also Mysql.

        Über die MY.INI kannst du den Mysql-Prozess der dein DBMS repräsentiert konfigurieren!

        Du kannst aber auch den querys prioritäten zuweisen, nach welchen sie dann abgespeist werden!

        Bei Mysql ist die Datenbank mit der Architektur des Betriebssystems verzahnt. Dadurch können Sicherheitslücken entstehen.

        coleman

        1. Hi,

          sogut kenn ich mich da noch nich aus aber grundsätzlich steuert den Zugriff dein dbms (Datenbank management system) also Mysql.

          richtig!

          Über die MY.INI kannst du den Mysql-Prozess der dein DBMS repräsentiert konfigurieren!

          Du kannst aber auch den querys prioritäten zuweisen, nach welchen sie dann abgespeist werden!

          Das mußt Du mir erklären! Wäre mir jedenfalls neu.

          Bei Mysql ist die Datenbank mit der Architektur des Betriebssystems verzahnt. Dadurch können Sicherheitslücken entstehen.

          Das ist nicht wirklich ein spezifisches Problem von Datenbanken, oder?
          Generell ist das als Fehler zu sehen.

          Wenn es wichtig ist, daß mehrere Prozesse gleichzeitig lesen und schreiben können, ohne daß Probleme auftauchen, so gibt es dazu (meines Wissens nach) nur folgene Möglichkeiten:

          • InnoDB (und damit Transaktionssicherheit) nutzen ("nutzen" heißt dann auch "nutzen", also mit "begin" und "commit" umschließen!)

          • gezielt nur eine Anwendung schreiben lassen

          • Locks verwenden

          Was sich genau anbietet, ist sicher vom Anwendungsfall abhängig bzw. von der Art der Daten bzw. der Wichtigkeit. Kann man pauschal schlecht beantworten.

          Gruß
          Reiner

          1. Hi,

            Du kannst aber auch den querys prioritäten zuweisen, nach welchen sie dann abgespeist werden!

            Das mußt Du mir erklären! Wäre mir jedenfalls neu.

            low_priority / delayed / ignore

            hab ich selbst aber noch nie anwenden müssen!

            • InnoDB (und damit Transaktionssicherheit) nutzen ("nutzen" heißt dann auch "nutzen", also mit "begin" und "commit" umschließen!)

            das kenn ich wiederrum noch nicht.

            • Locks verwenden

            wie mach ich das ?

            coleman

            1. Hi,

              Du kannst aber auch den querys prioritäten zuweisen, nach welchen sie dann abgespeist werden!

              Das mußt Du mir erklären! Wäre mir jedenfalls neu.

              low_priority / delayed / ignore

              hab ich selbst aber noch nie anwenden müssen!

              ok, das löst aber keine Transaktionsprobleme!

              • InnoDB (und damit Transaktionssicherheit) nutzen ("nutzen" heißt dann auch "nutzen", also mit "begin" und "commit" umschließen!)

              das kenn ich wiederrum noch nicht.

              http://dev.mysql.com/doc/refman/4.0/de/commit.html

              • Locks verwenden

              wie mach ich das ?

              http://dev.mysql.com/doc/refman/4.0/de/lock-tables.html

              Gruß
              Reiner

  2. Moin,

    Kann es wegen dem vielen Verkehr auf der Seite zu Problemen mit der Datenbank kommen? (Ich laß teilweise ziemlich umfangreiche Scripte laufen)

    Seit einigen Monaten habe ich das mal versuchsweise auf drei Sites installiert, aber auch unter dem Vorbehalt, das bei Problemen gleich wieder rauszunehmen. Bis jetzt funktioniert es einwandfrei, wobei die eine Site werktags ca. 800 - 1000 Sessions bzw. ca. 2200 - 2300 Pageviews pro Tag hat.

    Viele Grüße

    Jörg