Trafficauswertung

  • Verwendete SE: 6-0.395

    Pd-Admin Version: 4.91

    Domains: ~700

    VHosts: ~1600


    Hallo,

    neuerdings lässt sich das Script STATISTIKEN --> Traffic nicht mehr ausführen. Nach ca. 10 Minuten geht es in Gateway Timeout. Die Traffic-tabelle in vadmin hat ca. 1,2mio. Einträge.


    Habt ihr auch solches Verhalten?

  • Meine erste Vermutung ist, dass die DB Query zu lange benötigt, so dass es zu dem Timeout kommt. Während der Ausführung sollte man sich parallel die MySQL Prozessliste anscchauen. Vielleicht findet sich da eine sehr lang laufende Query. Diese kopiert man sich und kann sich die Query separat mit "explain" anschauen und analysieren. Eventuell lässt sich die Query so optimieren.


    Bei mir sind es nur rund 60.000 Einträge in der Tabelle traffic_new. Ich kann ein solches Verhalten nicht reproduzieren.

  • Ich kann keine Query finden die zu lange dauert. Ich vermute die Summe der einzeln abgesetzten Queries dauern zu lange und es kommt zum Gateway Timeout mit dem Webserver.


    Ich habe einen Test gemacht und jeweils die Daten Monat für Monat eingespielt und dann immer die Trafficanzeige geöffnet.


    Bis zum 30.09.2021 enthält die Tabelle 847057 Zeilen und ab da geht die Traffic Anzeige im Pd-Admin in den Gateway Timeout.


    ...


    mysql> TRUNCATE `traffic_new`;

    Query OK, 0 rows affected (0,01 sec)



    mysql> INSERT INTO `traffic_new` (id_user, date, www, ftp, mail) SELECT

    mysql> id_user, date, www, ftp, mail FROM `traffic_new_org` WHERE `date`

    mysql> < '2021-10-01';

    Query OK, 847057 rows affected (2,15 sec)

    Records: 847057 Duplicates: 0 Warnings: 0 ...


    Spiele ich hingegen die Daten nur bis zum 31.08.2021 in die Tabelle ein (742362 Zeilen), dauert das Öffnen der Trafficanzeige im Pd-Admin zwar fast 4 Minuten, aber sie öffnet sich.


    ...


    mysql> TRUNCATE `traffic_new`;

    Query OK, 0 rows affected (0,02 sec)

    mysql> INSERT INTO `traffic_new` (id_user, date, www, ftp, mail) SELECT

    mysql> id_user, date, www, ftp, mail FROM `traffic_new_org` WHERE `date`

    mysql> < '2021-09-01';

    Query OK, 742362 rows affected (1,89 sec)

    Records: 742362 Duplicates: 0 Warnings: 0 ...

  • Ich denke nicht, dass für die Traffic Statistik ein einfaches "SELECT ... date < xxxx-xx-xx" ausgeführt wird. Die Queries werden etwas komplexer sein. Schließlich wird bei Aufruf der Traffic Seite einmal der gesamte Traffic nach Monaten, sowie der Traffic vom aktuellen und letzten Monate, sortiert nach Endkunden, aufgelistet. Beim Top 10 Button wird dies sicher noch komplexer sein.


    Bei xx Endkunden, ~700 Domains, ~1600 vhosts und über 1,2mio Zeilen in der Tabelle traffic_new kann natürlich die Verabreitung bei Seitenaufruf insgesamt einfach sehr lange dauern.