NEWS
Wichtiger Hinweis für Redis Installationen!
-
@oliverio sagte in Wichtiger Hinweis für Redis Installationen!:
Dann hast du syslog und die anderen logausgaben auch ins RAM verlegt?
Nein.
Da liegt das größte Risiko für viele schreiboperationen
Wie kommst du darauf?
Ro75.
-
@ro75
Hm, ich schaue in meine syslogs?
Ich sehe wie oft da log Einträge drin stehen?
Gehen wir mal davon aus, das linux maximal 1000ms cached, dann ist das vernachlässigbar und du kannst direkt am timestamp ablesen wie oft am Tag in die Datei geschrieben wird. Dazu dann auch immer in den gleichen Speicherblock.
Jeder Block hat aber nur eine maximale Anzahl wie oft geschrieben werden darf. Wahrscheinlich hat die Hardware auch noch ein caching die versucht das zu optimieren, aber immer hinsichtlich der ausfallsicherheit nicht sehr lange.
Wenn dann eine gewisse Anzahl an schreiboperationen erreicht ist, verschiebt der sd Controller den Block auf einen weniger benutzten (wear leveling)
Daher gehört es zu einer der Optimierungen bei sd Karten (hilft auch bei ssd Platten, aber da gibt mehr Reserve Blöcke) die Bereiche mit hohen schreiboperationen in das RAM zu verlagern.Das Thema mit sterbenden sd Karten kannst du häufig, im speziellen in Verbindung mit dem raspberry, auf vielen Seiten finden.
Nachtrag
Hab den Wert gefunden. Er ist bei 30 Sekunden
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/4/html/reference_guide/s3-proc-sys-vm#dirty_expire_centisecs
-
@oliverio Aber ich habe doch gar kein Problem mit Redis. Ich hatte doch nur auf eine "Hilfeanfrage" geantwortet.
Ro75.
-
Du hattest gefragt, wie ich darauf komme
-
@oliverio mir ging es m @Dr-Bakterius
Ro75.
-
Das ideale Setup in meinen Augen sind zwei Redis ... einen für States und einen für Objekts ... hier kann man dann viel besser die Schreiblast austarieren das "Objects" SEEHRR gross ist aber sich seltener ändert und States klein ist und sich viel öfter ändert
-
@apollon77 sagte in Wichtiger Hinweis für Redis Installationen!:
@darkiop Am Ende hängt es von der Hardware und dem System und der Festplatte/SSD/SD ab.
Ja. Hatte bei dem Versuch auch nichts anderes erwartet.
-
@apollon77 sagte in Wichtiger Hinweis für Redis Installationen!:
Das ideale Setup in meinen Augen sind zwei Redis ... einen für States und einen für Objekts ... hier kann man dann viel besser die Schreiblast austarieren das "Objects" SEEHRR gross ist aber sich seltener ändert und States klein ist und sich viel öfter ändert
dann also 6 redis‘e im sentinel betrieb
-
@darkiop Naja ok,ich hab pro Host 2+Sentinel ... aber jupp
-
Kurzer Hinweis: Das Ganze geht auch über die normale Redis-Konfiguration (
sudo nano /etc/redis/redis.conf
)Standard-Abschnitt unter "GLOBAL":
# Set the local environment which is used for string comparison operations, and # also affect the performance of Lua scripts. Empty String indicates the locale # is derived from the environment variables. locale-collate ""
Angepasst zu:
locale-collate "C"
Funktioniert (und spart den Weg über die Environment-Variables). Getestet mit Redis 7.2.4
-
ich bekomme wieder den Redis Fehler obwohl die locale stimmt und beim Test Nil im Redis Client wie im Forum beschrieben als Ergebnis rauskommt
Die Objects werden offenbar normal verarbeitet, der raspi hat sich aber bereits mehrmals aufgehängt wobei ich ziemlich sicher bin, dass das ioBroker auslöst.
Hat wer eine Idee?
Dankeschön
-
@peterk34 sagte in Wichtiger Hinweis für Redis Installationen!:
der raspi hat sich aber bereits mehrmals aufgehängt
Das wird aber sicherlich nicht mit der Locale zusammenhängen.
-
@haus-automatisierung
Das glaub ich auch nicht … aber was löst die Fehlermeldung im IoBroker aus? -
@peterk34 Eventuell ist auch der Check im js-controller anders umgesetzt als im Foren-Beitrag. Müsste ich jetzt auch im Code nachschauen
-
@peterk34 Der controller führt in der redis db den test von oben aus und wenn es zu dem Zeitpunkt nicht passt wird die Meldung generiert. Wichtig zu wissen ist die Meldung wird nicht von selbst gelöscht.
-
@foxriver76
Hab die Meldung bestätigt, kommt beim nächsten Neustart wieder … einfach ignorieren? -
@peterk34 bestätigt mit dem Button bestätigen oder nur mit ok?
-
@foxriver76 mit dem Button
-
@peterk34 hm dann passt der Check bei dir nicht wenn der Controller ihn ausführt..
Denke das ist das Kommando dass du auch genutzt hast?
-