Hallo zusammen,
ich vermute, dass das zähe Verhalten meines Pi mit dem Zugriff aufs Dateisystem zusammenhängt.
Die Plots werden ja aus Logs generiert und diese liegen derzeit auf einer sdcard.
Bevor ich nun zu einem 10mal so teueren NUC umsteige, käme folgendes in Betracht:
- Austausch der günstigen Transcend sdcard gegen eine schnelle Sandisk extreme
- Auslagern der Dateien aufs NAS
- Anschluss einer SSD über einen USB-Port
Alles steht und fällt natürlich mit der Anbindung des Mediums an die CPU.
Ich meine z.B. gehört zu haben, dass der Ethernetport über (den lahmen) USB-Port angebunden ist.
Deshalb bin ich auf den Suche nach Erfahrungsberichten.
Was bringt was und was bringt nichts, bzw verschlechtert die Situation?
Gruß
Markus
Also bei mir habe ich den Pi 3 wie folgt optimiert:
- eine schnelle SanDisk Class 10 SD-Karte,
- gutes Netzteil (sowie spez. USB-Ladekabel),
- die Logs werden alle auf ein USB Stick geschrieben (per Symlinks) - wobei ich das eher getan habe um die Karte nicht zu füllen.
Ein Performanzproblem habe ich eigentlich nicht. Weder auf meinem Pi 3, auf dem FHEM und Homebridge laufen. Noch auf dem Pi 3, auf dem Kodi, FHEM und Hyperion laufen.
Hallo Markus,
hast Du attr WEB plotfork 1
gesetzt?
Der Pi schafft ca. 17 MB/sec auf die SD Karte lesen oder schreiben. Das sollte die Karte können, mehr braucht sie aber nicht.
Ich habe keine Performanceprobleme bei den Plots. Wichtig ist auch noch was in den Logfiles alles drin steht, da kann man viel optimieren! Viel mehr als mit der SD Card.
Gruß Otto
Die Performance bricht dramatisch ein, wenn in einem Unterverzeichnis auf der SD-Karte zu viele Dateien liegen. Das liegt an der Organisation des Dateisystems. Alleine das Auslagern in ein separates Archiverzeichnis (um Mitternacht z.B.) beschleunigt den Raspberry deutlich.
Wenn das auf einer NAS liegt, ist es sogar noch besser.
Für das Archivieren hebe ich übrigens die meisten Textfiles gar nicht mehr auf. Was will ich mit 2,6 Millionen Datensätzen meiner Badezimmertemperatur jemals anfangen ?
Stattdessen werden kurz vor Mitternacht Kopien der Plots gezogen, diese in PNG-Dateien umgewandelt und auf die NAS gekippt.
LG
pah
Hallo zusammen,
vielen Dank für die vielen Tipps!
Bei der Suche nach einer schnelleren SDCard bin ich auf folgender Seite auf einen Benchmark speziell für Raspis gestoßen:
http://www.pidramble.com/wiki/benchmarks/microsd-cards (http://www.pidramble.com/wiki/benchmarks/microsd-cards)
Und was ich ganz spannend fand, man kann den sdcard-reader auch übertakten:
http://www.jeffgeerling.com/blog/2016/how-overclock-microsd-card-reader-on-raspberry-pi-3
Ich bin normalerweise kein Freund vom Betreiben von Hardware außerhalb der Spezifikation (Overclocking).
Ich hatte mir zwar mal extra eine core i5 K-Variante gekauft, das Overclocking aber nur kurz ausprobiert.
Zurück zum raspi: Mein Leidensdruck war groß genug, das Übertakten mal zu probieren.
Gut dass ich zuvor ein Image der sdcard gezogen habe, denn beim Reboot wollte der Raspi gar nicht mehr starten.
100 MHz sind für meine Trancend-Karte wohl zuviel.
Das Rückspielen des 64GB-Images dauerte mit der Schreibrate von knapp 20 MByte/s über eine Stunde!
Ich habe schon alle Hoffnung fahren lassen, mein liebevoll eingerichtetes FHEM jemals wieder zu sehen.
Es hat dann zwar irgendwie geklappt und das System hat wieder gebootet, aber irgendwie habe ich den Eindruck, dass es jetzt noch unzuverlässiger läuft.
=> Ein NUC muss her.
Vieleicht setze ich bei Bedarf die Raspis als Satellit per FHEM2FHEM ein?
@pah: Ich habe mir zum Geburtstag dein Buch SmartHome Hacks: Hausautomatisierung selber machen schenken lassen.
Ganz großen Respekt dafür! Herrlich praxisnah geschrieben, niemals trocken und mit einer guten Schreibe, die richtig Lust zum Schmökern macht.
Kann ich jedem FHEMler wärmstens empfehlen!
Gruß
Markus
Danke für das Lob - vielleicht gibt es einen zweiten Band. Den ersten längeren "Hack" dafür habe ich im FHEMWiki unter DoorPi und FHEM stehen. :) :)
Ich betreibe (so wie im Buch am Ende eher vage beschrieben) ein verteiltes System aus 5 Raspberry Pi für meine Hausautomation.
Sehr performant und stabil.
LG
pah
Was auch helfen könnte bei der Performance:
Umstellen von file-log auf db-log
BananaPi mit SATA-SSD. Das läuft hier seit fast 2 Jahren recht performant. Derzeit ersetze ich das aber durch einen NUC mit Pentium N3700. Die ersten Tests sind äußerst vielversprechend. Mit (meinem recht umfangreichen) FHEM allein idlet der aber eigentlich nur bei einem Kerntakt von 500MHz in der Gegend herum.
Zufällig ein Linux-basiertes NAS oder einen Windows-Rechner im Netzwerk der immer an ist? Bei hostet ein Mini-PC (Atom X5-z8300, 2GB Ram) im Netzwerk u.a. einen SQL-Server auf den FHEM die dblogs schreibt. Das Ganze läuft sehr performant bei 6W Stromverbrauch und stellt gleichzeitig u.a. den LMS zur Verfügung.
Das Punkt ist doch eher: Markus hat doch bestimmt nur einen Grund gesucht um sich einen NUC zu kaufen ;)
Gruß Otto
Er hat ihn doch schon längst... 8)
Zitat von: Otto123 am 28 September 2016, 15:47:09
Das Punkt ist doch eher: Markus hat doch bestimmt nur einen Grund gesucht um sich einen NUC zu kaufen ;)
Gruß Otto
Hallo Otto, du hast mich ertappt.
Der NUC liegt bereits fertig mit Ubuntu Server drauf auf dem Schreibtisch.
Jetzt muss ich "nur" noch alles vom Raspi umziehen.
Gruß
Markus
Zitat von: Prof. Dr. Peter Henning am 22 September 2016, 15:37:01
Stattdessen werden kurz vor Mitternacht Kopien der Plots gezogen, diese in PNG-Dateien umgewandelt und auf die NAS gekippt.
Wie mach ich das unbeaufsichtigt?
Für einen Plot:
#!/bin/bash
device=$1
logdev=$2
plotfile=$3
# get the file
wget "http://192.168.0.xx:8083/fhem/SVG_showLog?dev=$device&logdev=$logdev&gplotfile=$plotfile&logfile=-" -O /tmp/backup.svg > /dev/null 2> /tmp/picture.log
#rewrite into png
inkscape -z -d 150 -e /tmp/backup.png -b ffffff00 /tmp/backup.svg > /dev/null 2> /tmp/picture.log
#rename properly
date=`date +"%Y-%m-%d"`
if [ -d "/home/fhemnas/fhempictures" ]; then
mv /tmp/backup.png "/home/fhemnas/fhempictures/$device-$date.png"
else
mv /tmp/backup.png "/home/fhem/fhemlogs/$device-$date.png"
fi
Und das kurz vor Mitternacht aufrufen. z.B. monatlich als
#!/bin/bash
cmd=/opt/fhem/archiveplot.sh
$cmd SolarMonthPV SolarPVM SolarMonthPV
$cmd SolarMonthTH SolarTHM SolarMonthTH
$cmd EMonth EnergieM emxm
$cmd GMonth GasM gasm
$cmd WMonth WasserM wasserm
LG
pah
Muss ich in nächsten Tagen gleich mal testen.
Danke für die schnelle Antwort.
Der Chef scheint ein Nacht- oder Frühmorgensarbeiter zu sein, mit der Antwort um 4:43 Uhr ;)
... funktioniert. Klasse!
Habe ich direkt eingebaut.
Danke.