Command Queue

Hallo,

ich hab seit den letzten Updates von Wiips und IPS (auf die letzte beta Version) das Problem, dass meine RR-Datenbanken nicht mehr aktualisiert werden. Anscheinend ist irgendwo eine Queue eingabaut worden und alle folgende Befehle werden bei voller Queue in die Tonne getreten. Kann ich denn die Größe irgendwo einstellen? Ich habe nun einmal sehr viele RRD Dateien und dass die nicht upgedatet werden ist keine Lösung.
Hier mal noch die Zeile aus dem Log:
01.12.2006 00:00:30.09 | DEBUG | RRDTool | Command Skipped! QueueSize >= 250 Command: update „C:/Programme/IP-SYMCON/web_data/rrd/data/0949a6e7.rrd“ 1164927600:0

Edit:

ich habe übrigens auch ca. alle 2 Tage folgende Fehlermeldung:
02.12.2006 03:30:04.706 | WARNING | ExecuteThread ID: 488 | Error executing Script: Access violation at address 7C921F6C in module ‚ntdll.dll‘. Read of address 00000001

02.12.2006 03:30:04.706 | ERROR | ExecuteThread ID: 488 | ScriptError: …/web_data/rrd/exe/RRD_GraphBuilder.ips.php ~ Sender: RunScript ~ Result:

Dann geht typischerweise gar nichts mehr mit dem Webserver bis ich IPS neu starte.

mfg tangens.

P.S. Habe mich noch über zwei Sachen gewundert: Warum werden die Graphen eigentlich regelmäßig erzeugt und nicht on demand bei Seitenzugriff? Und warum wird nicht direkt auf die png Dateien verlinkt sondern per Skript eingelesen? Ich habe da dann immer 10 Minuten 100% CPU-Last und es dauert ewig bis alle Graphen angekommen sind…

Die Queue ist dafür das, dass der Rechner nicht überlastet wird bzw bei dem Falls, dass mehr Anfragen kommen als abgearbeitet wird, der Speicher von IPS nicht wächst um die Befehle zu puffern.

250 Befehle sollten eigentloch locker reichen, einstellen kann man es nicht.

Ist dein Recher die ganze auf auf 100% oder zumindest zur vollen Stunde? Dann solltest du deine Graphen etwas besser einstellen, sodass wirklich nur die benötigten generiert werden. (z.b. Jahres/Monatsgrafiken abschalten)

P.S. Habe mich noch über zwei Sachen gewundert: Warum werden die Graphen eigentlich regelmäßig erzeugt und nicht on demand bei Seitenzugriff? Und warum wird nicht direkt auf die png Dateien verlinkt sondern per Skript eingelesen? Ich habe da dann immer 10 Minuten 100% CPU-Last und es dauert ewig bis alle Graphen angekommen sind…

zu 1) Weil das generieren zu lange dauert, sodass die CPU Last viel höher wäre, wenn bei jedem Request die Grafik generiert werden würde

zu 2) Die CPU belastet das sogut wie garnicht, und es dient dazu, dass nicht jeder einfach mal auf deine Grafiken zugreifen kann.

paresy

Danke für die Antwort!
Naja, das glaube ich ja, dass 250 Befehle locker reichen sollten… Problem ist nur, dass ich hier 80 fhts habe. d.h. ich möchte 80x5 (3*temp+1fenster+position) = 400datenbanken updaten. Das updaten der Datenbanken geschieht ja nur alle 5 Minuten und braucht auch nur ca. 5 Sekunden für 250 Stück.
Kann man es denn nicht so machen, dass man beim Poller Skript immer nachschaut, wann die DB zuletzt geupdatet wurde und den neuen Wert nur reinschreibt, wenn now()-updatedtime>pollertime. Dann muss man auch die queue size nicht ändern, da alles > 250 ja in der nächsten Minute abgearbeitet wird.

re1) das muss man ja auch nicht bei jedem request machen sondern nur wenn sich was geändert hat. sozusagen analog zu der obigen lösung den graph generieren lassen wenn die zeitdifferenz größer ist als der voreingestellte wert. bei z.b. cacti wird das ja auch so gemacht. im endefekt hat man so eine deutlich geringere cpu last.
re2) ok, also die hash werte zu eraten ist ja nicht gerade leicht. per htaccess könnte man das ja auch leicht einschränken. auch wenn das die cpu nicht belasten sollte, so habe ich doch einen sehr lausigen seitenaufbau. auch wenn ich auf localhost zugreife. die cpulast ist bis die seite übertragen ist (wie gesagt ca. 10 minuten) recht konstant auf 100%. und das sind keine wait zeiten.

Meinen sie das ?
Wie kann der 1% regel uberhaupt noch eingehalten werden bei diese menge verkehr?
Und in welcher abstände kommen die aktuelle werte rein? Doch nicht jede 2e minute?
Wieviel FHZ brauchen sie dafur?

Grusse,

Ps: war jetzt mal ganz aus neugier :o

Hallo GGGss,
ja ich habe da auch noch diverse Probleme. Es war allerdings so, dass ich vor dem Umstieg von Contronics auf IPS mit einer FHZ 1300 Wlan von fast allen Reglern regelmäßig alle Werte übermittelt bekam (daher hoffe ich auch, dass ips hier noch Potential hat). Jetzt ist es so, dass ich 4 FHZ laufen habe (3 Wlan + 1 FHZ 1000) davon hängen an einer FHZ 1300 momentan 12 FHT, die richtig angemeldet sind. Hier bekomme ich regelmäßig Temperatur Fenster Positionsdaten geliefert. Bei den anderen klappt momentan nur die Position des Stellantriebes.
Ausgehende Befehle habe ich momentan noch keine, da warte ich noch sehnsüchtig auf das Heating Modul und hoffe, dass ich damit das ganze vernünftig testen kann.
Auch klasse wäre, wenn ich die Temperaturprofile der FHTs im Automatikmodus einstellen könnte (zumindest Tag/Nachtabsenkung/Temperatur bei Fenster auf…) aber das haben sich ja schon mehrere hier im Forum gewünscht.