NEWS
Browser Performance mit VIS stark beansprucht
-
Halle zusammen,
<size size="85">ich mache mal einen neuen Thread auf, da doch zu sehr offtopic in den anderen Threads oder einfach darin untergegangen.</size> Ich hatte einige Performance Probleme. Ein Teil der Probleme lag am niedrigen Speicher auf dem Raspi2. Jetzt mit einem neuen und 2GB Board sind diese weg.
Dennoch werden meine Browser auf dem Tablet (Android mit Firefox oder App Kiosk (sehr zu empfehlen mit ioBroker) nach einem Neustart der App immer langsamer. Auch auf dem PC, der eine ziemlich starke Kiste hier ist.
Meine Beobachtungen sind, dass die Load, CPU, Ram, Idle, IO, Swap ect. auf dem ioBroker Linux absolut in Ordnung sind.
Beim Broswer stelle ich fest, das nur dieser in die Knie geht. Während der Rechner oder Tablet sich eigentlich recht wohl fühlen und z. B. die Sprachansagen einwandfrei funktionieren (FTP-Server und Mediaplayer24 auf dem WandTabelet) und auch die LeistungsApp nicht viel kritisches Anzeigt, wird VIS immer langsammer.
Meine Analysen im Browser ergaben nicht viel. Chrom und Firefox auf dem PC sagen irgendwann mal gerne, dass das vis.js Sktipt nicht mehr reagiert, dann passiert aber was. Widgets, die einen Türzustand anzeigen, sind plötzlich um 10-30 Sekunden verzögert - oder gehen gar nicht mehr.
Ich such(t)e ja den Fehler bei mir - bin aber im Moment der Meinung, dass es immer mehr am js liegt. Ich habe auch eine nagelneue ioBroker Version installiert. Das Dumme: Anfangs läuft es zumeist. Dann geht es runter nach einer Weile (30 Minuten bis ein paar Stunden). Wie ist das so bei Euch?
Oder hat sogar jemand eine Idee?
Ich habe 9 Views und ein Projekt. Die genaue Anzahl der Widgets kene ich nicht, schätze diese auf 100 ein. Meist auch nur einfahe sachen, wie Status anzeigen.
Wie ist es also bei euch?
Fitti
PS: Hier noch einige seltsammen Auszüge aus der BrowserKonsole, die soagr auf solche Probleme hinweisen:
!
document.createAttribute() sollte nicht mehr verwendet werden. Verwenden Sie stattdessen element.setAttribute(). can.2.3.24.custom.min.js:16:1874 mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create quo.standalone.js:8:1691 !
-
ich mache mal einen neuen Thread auf, da doch zu sehr offtopic in den anderen Threads oder einfach darin untergegangen. `
Danke, da bist du mir zuvorgekommen.In diversen Threads wird immer wieder erzählt, vis sei quälend langsam, mit der App dauert ein ReSync bis zu zwei Stunden und, und, und…
Langsam ärgerte mich das, zumal ich auch selber betroffen bin/war.
Ich habe versucht systematisch an die Sache heranzugehen, aber so wirklich keinen "Schuldigen" gefunden. Das Phänomen scheint sehr vielschichtig.
jetzt werde ich das mal mit eurer Hilfe machen - dazu später.
Ich hatte einige Performance Probleme. Ein Teil der Probleme lag am niedrigen Speicher auf dem Raspi2. Jetzt mit einem neuen und 2GB Board sind diese weg. `
Sicher? Ich habe eine ganze Menge Daten gesammelt, Änderungen durchgeführt, habe teilweise sogar bis zu 300MB freien Speicher gehabt und immer noch ProblemeDennoch werden meine Browser auf dem Tablet (Android mit Firefox oder App Kiosk (sehr zu empfehlen mit ioBroker) nach einem Neustart der App immer langsamer `
Das kann ich bestätigen, wobei bei mir die App mehr litt als der Chrome Browser. Doch auch dazu später.Meine Beobachtungen sind, dass die Load, CPU, Ram, Idle, IO, Swap ect. auf dem ioBroker Linux absolut in Ordnung sind. `
Bis auf die Load kann ich das ebenfalls bestätigen.Beim Broswer stelle ich fest, das nur dieser in die Knie geht. Während der Rechner oder Tablet sich eigentlich recht wohl fühlen und … und auch die LeistungsApp nicht viel kritisches Anzeigt, wird VIS immer langsammer. `
Auch das kann ich bestätigen.Messungen oder Vergleiche am PC habe ich nicht, habe meine Rechner gerade eben erst ans Netz genommen.
Wie sieht es bei mir aus:
Ich habe zuvorderst flot in Verdacht. (Screenshots sind noch auf dem Tablet, werde ich hier später einfügen)
Bei dem Versuch in flot charts zu zoomen geht die Load sofort in die Höhe, der 5Min Average liegt auch mal gerne bei 4, das Maximum beim 1Minuten Average lag mal bei >65!!
Ich habe alle memHeapUsed geloggt und bei den üblichen Verdächtigen (rega, rpc, admin, javascript) erst einmal nichts gefunden. Für flot gibt es so etwas leider nicht, aber der web-Adapter schnellt mit dem Speicher in die Höhe, wenn ich mit flot/edit.html an einem Graphen arbeite.
Das war aber schon alles. die Load bleibt unten.
Auch in der App verhalten sich die Flot Charts am auffälligsten.
Direkt nach Neustart alles gut, Die Charts refreshen alle 30Sec, wie eingestellt. Nach kurzer Zeit erscheint nicht mehr die refresh Welle, sondern das gesamte Widget verschwindet und baut sich neu auf. Dieses dauert immer länger, so dass manchmal der Aufbau noch nicht stattgefunden hat wenn der nächste startet.
Ganz zum Schluss startete dann die App neu.
Ob das an zu wenig RAM auf dem Tablet liegt möchte ich nicht ausschließen
Womit ich Erfolg hatte:
Umstellen des js-controller auf redis.
ioBroker wurde gefühlt sofort schneller und einiges an Speicher wurde freigegeben.
Abschalten von influxDB
Das tat mir in der Seele weh, aber anschließend nur noch natives history.
Auch hier wurde nochmals Speicher freigegegeben, der influxdb Daemon läuft aber noch, braucht aber nur noch minimal CPU%.
Auch History, das vorher fast regelmäßig 27% CPU vereinnahmte ist jetzt meist deutlich unter 10%
Auf jeden Fall habe ich gemerkt, dass die wahren Änderungen erst oft nach einigen Stunden sichtbar wurden. Anscheinend braucht Linux einige Zeit, bis es Speicher und CPU-Ressourcen neu ordnet.
Ich bin auf dieses Thema gestoßen, weil immer wieder solche Probleme hier im Forum gepostet wurden, ich sie bis dahin aber nicht hatte.
Dann war ich gerade dabei eine Übersicht über die Hardware für ioBroker aufzustellen und wollte eigentlich auch Empfehlungen herausgeben.
Leider fehlt wie immer die Zeit alles so durchzuführen, wie es vielleicht sinnvoll wäre.
Das wäre ein und dieselbe Installation auf den verschiedenen Rechnern identisch aufbauen. Manchmal denke ich, dass ggf. etwas mit dem Pi3 nicht stimmt, auf dem jetzt fast alles läuft.
Dass Speicher ein Grund ist war mir früher bewusst, jetzt mit 300MB freiem (und noch mehr verfügbarem) Speicher ist das IMHO nicht unbedingt der einzige Grund.
Zu der empfehlenswerten Hardware gehört auch das Front End.
Hier hatte ich ein ALDI Billig (naja) Tablet mit 1200*800 Pixeln Auflösung und einem ARM Quad-Core. Auch hier war jedoch nur 1GB RAM drauf. Sobald man außerdem über Chrome im Forum war lud die APP anschließend wieder neu. Auf meinem neuen Fairphone2 mit 2GB RAM lief einiges besser.
Zusätzlich scheint natürlich auch die Qualität des WiFi eine Rolle zu spielen. Anscheinend läuft die App bei zu langen Ladezeiten in ein Timeout.
Wer eine Fritzbox hat, kann mit der Fritz WLAN App schön die reale Datenrate sehen (auch die Funkqualität mit der die Fritzbox das Tablet empfängt - hier gibt es u.a. große Probleme, wenn ein USB 3.0 Stick eingesteckt ist).
Das erst einmal als Anfang, ich mache mir noch Gedanken, wie man eine "standardisierte" Dokumentation seines Systems machen kann, damit eine gemeinsame Suche nicht Äpfel mit Birnen vergleicht.
Gruß
Rainer
-
Wenn ich irgendwelche Tests machen soll, dann bitte melden.
Ich lasse bis auf einem IPad 2 laufen. IOBroker ist auf einem Windows10 Rechner mit mittlerer Leistung und 4GB RAM installiert.
Mein vis Projekt hat momentan 6 Seiten. Eines davon ist eine Flot Grafik auf History.
-
Hallo!
Ich habe das Phänomen, dass mein Browser (Kweb) nach ca. 24Std 100% CPU Zeit belegt. Wenn ich den Browser beende und erneut starte, benötigt der Browser um die 4-5% CPU Zeit.
Es steigt langsam an bis 100%.
Das ist allerdings der Client (ich habe einen Banana-Pi mit 7" Display in die Wand eingebaut und im Kiosk-Modus laufen). Um Ressourcen zu sparen, nutze ich den Browser Kweb (basiert auf WebKit).
Hatte bisher den Browser im Verdacht, muss es aber auf jeden Fall noch genauer untersuchen. Vielleicht hängt es aber auch mit den von Euch beschriebenen Problemen zusammen.
Allerdings nutze ich Float nicht und auch keine Datenbank (derzeit).
Gruß
Vore
-
Hallo Jeeper,
Mir geht es im Moment darum eine Hardwareempfehlung für Einsteiger in ioBroker erstellen zu können.
Wenn man im HomeMatic Forum liest ist da in vielen Fällen schon ein RasPi zuviel.
Dein System wäre da der absolute overkill. vielleicht wäre es mal interssant bestimmte Phänomen auf solch einem System zu testen, aber ich nehme nicht an, dass du mit diesem System aktuell Performanceprobleme hast.
Hallo vore,
wenn ich dich richtig verstehe hast du einen BananaPi (Standard) mit (angedocktem) 7" (Touch?)Screen auf dem sowohl der ioBroker Server, als auch der Browser läuft, mit dem du visualisierst?
Da wirst du mit Sicherheit an die Grenzen des Systems stoßen.
An alle:
Wenn ihr berichtet wo euch der Schuh drückt, benötige ich folgende Informationen:
-
System auf dem ioBroker als Server läuft.
-
Laufende Adapter (ich weiß, nicht wie wir das lösen wollen, alle aufzählen ist viel Arbeit, und die Konfiguration. z.B. schedules für den Aufruf sind auch nicht überall gleich)
-
- hier insbesondere ein wenig Informationen zu vis. (Ich weiß nicht ob man irgendwie eine Größe der Views ermitteln kann, aber auch die Art der Widgets und die Zahl pro Seite wird mit Sicherheit Einfluss auf die Performance haben.)
-
- Informationen zu javascript, node-red u.ä. (Einschätzung exzessiv, einiges, gar nicht….)
-
Das Front-End (insbesondere bei Tablet, Handy: Auflösung, Prozessor, RAM), schließlich werden die gesamten Views auf dem Front-End gerendert.
-
- der verwendete Browser
-
- oder die App
-
die Qualität der WiFi-Verbindung.
-
- bei der FritzBox mit der Fritz-WLAN App, sonst benutze ich den Wifi Manager von Kostya Vasilyev. In beiden Fällen wird die reale Datenrate angezeigt.
Und bitte:
-
aktuellste Versionen der Adapter und des Controllers werden vorausgesetzt.
-
beschreibt den Fehler so, dass ich es auch nachvollziehen kann. Ich sehe schließlich nicht, was ihr seht und weiß nicht was ihr wisst.
Gruß
Rainer
-
-
dass du mit diesem System aktuell Performanceprobleme hast. `
Hallo,
Nein da hast du Recht. Keine Performanceprobleme vorhanden.
Soll ich trotzdem irgendwas probieren, kein Problem.
Lg
Günther
-
Hallo Günther,
danke für das Angebot, aber wir müssen erst mal die Ursache(n) eingrenzen.
Gruß
Rainer
-
Anbei ein kleines Skript, welches im /opt/iobroker Ordner aufgerufen (chmod 777 list_iobroker.sh nicht vergessen) eine Liste list.txt erzeugt. Darin sind alle gestarteten Module enthalten. Die Liste könnte gleich angehangen werden.
Deinen Ram kann man kurz mal aufräumen:
Die Zeile so in das Terminal kopieren und ausführen:
sync ; sync ; sync ; echo 3 > /proc/sys/vm/drop_caches
und dann:
sync ; sync ; sync ; swapoff -a && swapon -a
Bei mir hat der Umstieg auf den V5 Cubitruck wirklich einiges gebracht. Ich habe jetzt immer so um die 1,4 GB frei. Die Response Rate ist wesentlich besser. Bis der Browser langsam wird.
Nehme ich z. B. viele Widgets dazu (pix hatte mir ja bei der Stromkostenerfassung seine Widgetsammlung gegeben), dann ist sofort schluss mit performance im Browser. Ein Problem hatte ich in der Verwendung von Bindings gefunden, wo ich Werte addieren lasse.
Die Systemewerte sind dabei alle Top.
Der Fehler ist reproduzierbar und wurde auf zwei unterschiedlichen Linuxsystemen (Raspi2 und Cubietruck V5) beobachtet. Flot habe ich im Einsatz.
Nach wie vor ist mein Verdächtiger der Browser/JavaScript im Browser. Da wird was nicht ordentlich freigegeben, irgendeine Schleife oder irgendein Speicher läuft da voll…
Die Idee nach dem WLAN ist auch sehr gut. Wobei Cubie und PC alle an einem Gigabit Netzwerk sind und das gleiche Problem aufzeigen...
578_list_iobroker.zip
578_list.txt -
<size size="130">Hier eine sehr ausführliche Google Developer Analyse, ich hoffe Bluefox liest mit - auch wenn es seine Laune nicht heben dürfte:
Jedoch sind auch gleich vorschläge und die lösungsseiten dazu angegeben. Auch wenn einiges nicht so schlimm klingt, scheint mir der 3. Bereich (Blockkaden) interessant</size>
Durch die Komprimierung der Ressourcen mit "gzip" oder "deflate" kann die Anzahl der über das Netzwerk gesendeten Bytes reduziert werden
! Ermöglichen Sie die Komprimierung der folgenden Ressourcen, um die Übertragungsgröße um 2,9 MB (81 %) zu reduzieren.
! https://developers.google.com/speed/doc … ompressionDurch die Komprimierung von http://iobroker:8082/vis/index.html könnten 697,1 KB (86 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…is/widgets/metro/css/metro-bootstrap.css könnten 273,2 KB (88 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/lib/js/jquery-ui-1.11.4.full.min.js könnten 172,4 KB (73 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…s/widgets/jqplot/js/jquery.jqplot.min.js könnten 141,6 KB (75 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/lib/js/socket.io.js könnten 120,2 KB (75 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/rgraph/js/RGraph.line.js könnten 118 KB (83 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/hqwidgets/js/hqwidgets.js könnten 112,7 KB (82 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/js/vis.js könnten 107 KB (81 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/rgraph/js/RGraph.bar.js könnten 102,2 KB (84 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…/widgets/rgraph/js/RGraph.common.core.js könnten 101,1 KB (79 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/colorpicker/js/spectrum.js könnten 67,4 KB (78 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/lib/js/jquery-1.11.2.min.js könnten 61,1 KB (65 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/lib/js/can.2.3.24.custom.min.js könnten 51,1 KB (67 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…dgets/rgraph/js/RGraph.common.effects.js könnten 48,1 KB (89 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…b/js/jquery-ui-timepicker-addon-1.2.2.js könnten 47,7 KB (75 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/colorpicker/js/jscolor.js könnten 40,3 KB (75 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/css/backgrounds.css könnten 40 KB (89 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/js/conn.js könnten 38,7 KB (83 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/rgraph/js/RGraph.gauge.js könnten 35,6 KB (82 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…dgets/rgraph/js/RGraph.common.dynamic.js könnten 33,3 KB (83 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…s/history/lib/js/jquery.sparkline.min.js könnten 29,5 KB (69 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/hqwidgets/css/hqwidgets.css könnten 29,3 KB (87 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/bars/css/barButtons.css könnten 28,4 KB (86 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…/widgets/rgraph/js/RGraph.thermometer.js könnten 27,2 KB (78 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/metro/js/metro.js könnten 27,1 KB (82 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/bars/js/bars.js könnten 24,3 KB (80 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/tabs/jquery.sliderTabs.js könnten 23,7 KB (78 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…timeandweather/js/jquery.zweatherfeed.js könnten 23,3 KB (77 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/metro/css/iconFont.min.css könnten 23,1 KB (85 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…s/timeandweather/js/jquery.jdigiclock.js könnten 23 KB (78 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…dgets/hqwidgets/css/hqwidgetsButtons.css könnten 22,4 KB (84 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/basic/js/table.js könnten 21,8 KB (78 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…ets/timeandweather/js/segment-display.js könnten 21,4 KB (87 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/hqwidgets/js/jquery.knob.js könnten 21,2 KB (77 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…s/widgets/rgraph/js/RGraph.common.key.js könnten 19,5 KB (80 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…gets/rgraph/js/RGraph.common.tooltips.js könnten 16,6 KB (77 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…andweather/js/flipclock/flipclock.min.js könnten 15,3 KB (74 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/hqwidgets/css/checkbox.css könnten 13,6 KB (92 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…ets/fancyswitch/js/jquery.ibutton.min.js könnten 12,5 KB (72 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/lib/js/quo.standalone.js könnten 12,5 KB (66 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…s/widgets/timeandweather/js/moreskins.js könnten 12,5 KB (88 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…is/widgets/colorpicker/js/huepiHelper.js könnten 11,5 KB (77 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…vis/widgets/colorpicker/css/spectrum.css könnten 10,7 KB (73 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/css/vis.css könnten 10,2 KB (77 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…s/widgets/timeandweather/js/coolclock.js könnten 8,7 KB (69 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…widgets/timeandweather/css/flipclock.css könnten 8,3 KB (83 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/hqwidgets/css/glossy.css könnten 8,2 KB (87 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…gets/css/odometer-theme-slot-machine.css könnten 7 KB (87 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…is/lib/js/jquery.multiselect-1.13.min.js könnten 6,9 KB (66 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…vis/widgets/hqwidgets/js/odometer.min.js könnten 6,5 KB (64 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…vis/widgets/colorpicker/js/farbtastic.js könnten 6,4 KB (66 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…ets/hqwidgets/css/odometer-theme-car.css könnten 6,4 KB (87 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/bars/js/jquery.sidebar.js könnten 6,3 KB (79 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…idgets/tabs/styles/jquery.sliderTabs.css könnten 5,7 KB (81 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…ets/css/odometer-theme-train-station.css könnten 4,9 KB (86 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…s/hqwidgets/css/odometer-theme-plaza.css könnten 4 KB (85 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…hqwidgets/css/odometer-theme-digital.css könnten 4 KB (84 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…hqwidgets/css/odometer-theme-default.css könnten 3,5 KB (86 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…hqwidgets/css/odometer-theme-minimal.css könnten 3,3 KB (87 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…timeandweather/css/jquery.jdigiclock.css könnten 3,1 KB (76 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/bars/css/sidebar.css könnten 3,1 KB (83 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis.0/main/vis-user.css?_=1469394851197 könnten 2,9 KB (70 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/lib/js/translate.js könnten 2,8 KB (77 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…widgets/jqplot/css/jquery.jqplot.min.css könnten 2,5 KB (73 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…s/fancyswitch/css/jquery.ibutton.min.css könnten 2,1 KB (72 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…fancyswitch/js/jquery-ui.toggleSwitch.js könnten 1,8 KB (65 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/lib/js/loStorage.js könnten 1,6 KB (60 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/lib/css/jquery.multiselect-1.13.css könnten 1 KB (65 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/widgets/basic/css/table.css könnten 991 Byte (68 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/css/styles.css könnten 914 Byte (60 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…vis/widgets/timeandweather/css/yahoo.css könnten 859 Byte (58 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/…s/widgets/colorpicker/css/farbtastic.css könnten 694 Byte (50 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/js/config.js könnten 686 Byte (68 %) eingespart werden. Durch die Komprimierung von http://iobroker:8082/vis/lib/js/jquery.ui.touch-punch.min.js könnten 604 Byte (50 %) eingespart werden.
Durch die Komprimierung des JavaScript-Codes können viele Datenbytes gespart und das Herunterladen, das Parsen und die Ausführungszeit beschleunigt werden.
! Reduzieren Sie JavaScript für die folgenden Ressourcen, um ihre Größe um 794,5 KB (50 %) zu verringern.
! https://developers.google.com/speed/doc … yResourcesDurch die Reduzierung von http://iobroker:8082/vis/widgets/rgraph/js/RGraph.line.js könnten 80,5 KB (56 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/lib/js/socket.io.js könnten 77,8 KB (49 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…/widgets/rgraph/js/RGraph.common.core.js könnten 72,9 KB (57 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/rgraph/js/RGraph.bar.js könnten 69,7 KB (57 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/js/vis.js könnten 65,5 KB (50 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/hqwidgets/js/hqwidgets.js könnten 60 KB (45 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/colorpicker/js/spectrum.js könnten 43,2 KB (50 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…dgets/rgraph/js/RGraph.common.effects.js könnten 27,1 KB (50 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…dgets/rgraph/js/RGraph.common.dynamic.js könnten 24,6 KB (61 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/rgraph/js/RGraph.gauge.js könnten 22,9 KB (53 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/js/conn.js könnten 22,3 KB (48 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…b/js/jquery-ui-timepicker-addon-1.2.2.js könnten 22,2 KB (35 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…/widgets/rgraph/js/RGraph.thermometer.js könnten 20,1 KB (57 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/colorpicker/js/jscolor.js könnten 18,1 KB (34 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/hqwidgets/js/jquery.knob.js könnten 15,6 KB (57 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/tabs/jquery.sliderTabs.js könnten 14,9 KB (50 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…gets/rgraph/js/RGraph.common.tooltips.js könnten 14,3 KB (67 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/basic/js/table.js könnten 14,1 KB (50 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…s/widgets/rgraph/js/RGraph.common.key.js könnten 13,7 KB (56 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…timeandweather/js/jquery.zweatherfeed.js könnten 13,7 KB (46 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/metro/js/metro.js könnten 13,2 KB (41 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/bars/js/bars.js könnten 13 KB (44 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…ets/fancyswitch/js/jquery.ibutton.min.js könnten 10,2 KB (59 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…s/timeandweather/js/jquery.jdigiclock.js könnten 9,7 KB (34 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…ets/timeandweather/js/segment-display.js könnten 8 KB (33 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…is/widgets/colorpicker/js/huepiHelper.js könnten 7,3 KB (50 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…s/widgets/timeandweather/js/coolclock.js könnten 4,9 KB (40 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/bars/js/jquery.sidebar.js könnten 4,4 KB (56 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…vis/widgets/colorpicker/js/farbtastic.js könnten 4,3 KB (45 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…s/widgets/timeandweather/js/moreskins.js könnten 3,3 KB (24 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/lib/js/translate.js könnten 1,5 KB (42 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…fancyswitch/js/jquery-ui.toggleSwitch.js könnten 1 KB (38 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/js/config.js könnten 514 Byte (51 %) eingespart werden.
JavaScript- und CSS-Ressourcen, die das Rendering blockieren, in Inhalten "above the fold" (ohne Scrollen sichtbar) beseitigen
! Ihre Seite enthält 47 blockierende Skript-Ressourcen und 38 blockierende CSS-Ressourcen. Dies verursacht eine Verzögerung beim Rendern Ihrer Seite.
! Keine der Seiteninhalte "above the fold" (ohne Scrollen sichtbar) konnten ohne Wartezeiten für das Laden der folgenden Ressourcen gerendert werden. Versuchen Sie, blockierende Ressourcen zu verschieben oder asynchron zu laden, oder laden Sie kritische Bereiche dieser Ressourcen direkt inline im HTML.
! Entfernen Sie JavaScript, das das Rendering blockiert:
! https://developers.google.com/speed/doc … BlockingJShttp://iobroker:8082/vis/cordova.js http://iobroker:8082/lib/js/jquery-1.11.2.min.js http://iobroker:8082/lib/js/jquery-ui-1.11.4.full.min.js http://iobroker:8082/lib/js/socket.io.js http://iobroker:8082/vis/lib/js/translate.js http://iobroker:8082/vis/js/app.js http://iobroker:8082/vis/lib/js/can.2.3.24.custom.min.js http://iobroker:8082/vis/lib/js/jquery.ui.touch-punch.min.js http://iobroker:8082/…is/lib/js/jquery.multiselect-1.13.min.js http://iobroker:8082/vis/lib/js/quo.standalone.js http://iobroker:8082/vis/lib/js/loStorage.js http://iobroker:8082/vis/_socket/info.js http://iobroker:8082/vis/js/config.js http://iobroker:8082/vis/js/conn.js http://iobroker:8082/vis/js/vis.js http://iobroker:8082/vis/widgets/bars/js/bars.js http://iobroker:8082/vis/widgets/bars/js/jquery.sidebar.js http://iobroker:8082/vis/widgets/basic/js/table.js http://iobroker:8082/vis/widgets/colorpicker/js/jscolor.js http://iobroker:8082/…vis/widgets/colorpicker/js/farbtastic.js http://iobroker:8082/vis/widgets/colorpicker/js/spectrum.js http://iobroker:8082/…is/widgets/colorpicker/js/huepiHelper.js http://iobroker:8082/…fancyswitch/js/jquery-ui.toggleSwitch.js http://iobroker:8082/…ets/fancyswitch/js/jquery.ibutton.min.js http://iobroker:8082/…s/history/lib/js/jquery.sparkline.min.js http://iobroker:8082/vis/widgets/hqwidgets/js/jquery.knob.js http://iobroker:8082/…vis/widgets/hqwidgets/js/odometer.min.js http://iobroker:8082/vis/widgets/hqwidgets/js/hqwidgets.js http://iobroker:8082/…s/widgets/jqplot/js/jquery.jqplot.min.js http://iobroker:8082/…b/js/jquery-ui-timepicker-addon-1.2.2.js http://iobroker:8082/vis/widgets/metro/js/metro.js http://iobroker:8082/…/widgets/rgraph/js/RGraph.common.core.js http://iobroker:8082/…dgets/rgraph/js/RGraph.common.effects.js http://iobroker:8082/…dgets/rgraph/js/RGraph.common.dynamic.js http://iobroker:8082/…gets/rgraph/js/RGraph.common.tooltips.js http://iobroker:8082/…s/widgets/rgraph/js/RGraph.common.key.js http://iobroker:8082/…/widgets/rgraph/js/RGraph.thermometer.js http://iobroker:8082/vis/widgets/rgraph/js/RGraph.gauge.js http://iobroker:8082/vis/widgets/rgraph/js/RGraph.bar.js http://iobroker:8082/vis/widgets/rgraph/js/RGraph.line.js http://iobroker:8082/vis/widgets/tabs/jquery.sliderTabs.js http://iobroker:8082/…andweather/js/flipclock/flipclock.min.js http://iobroker:8082/…s/timeandweather/js/jquery.jdigiclock.js http://iobroker:8082/…timeandweather/js/jquery.zweatherfeed.js http://iobroker:8082/…s/widgets/timeandweather/js/coolclock.js http://iobroker:8082/…s/widgets/timeandweather/js/moreskins.js http://iobroker:8082/…ets/timeandweather/js/segment-display.js
Optimieren Sie die CSS-Darstellung für die folgenden URLs:
<url url="https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery">
[https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery " target="_blank">](</s><LINK_TEXT text=)[<link_text text="https://developers.google.com/speed/doc … SDelivery
">https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery</link_text>](</s><LINK_TEXT text=)</url>! ````
http://iobroker:8082/vis/lib/css/jquery.multiselect-1.13.css
http://iobroker:8082/vis/css/backgrounds.css
http://iobroker:8082/vis/css/vis.css
http://iobroker:8082/vis/css/vis-common-user.css
http://iobroker:8082/vis/css/app.css
http://iobroker:8082/vis/css/styles.css
http://iobroker:8082/vis/widgets/bars/css/bars.css
http://iobroker:8082/vis/widgets/bars/css/sidebar.css
http://iobroker:8082/vis/widgets/bars/css/barButtons.css
http://iobroker:8082/vis/widgets/basic/css/table.css
http://iobroker:8082/…s/widgets/colorpicker/css/farbtastic.css
http://iobroker:8082/…vis/widgets/colorpicker/css/spectrum.css
http://iobroker:8082/…s/fancyswitch/css/jquery.ibutton.min.css
http://iobroker:8082/vis/widgets/hqwidgets/css/hqwidgets.css
http://iobroker:8082/…dgets/hqwidgets/css/hqwidgetsButtons.css
http://iobroker:8082/vis/widgets/hqwidgets/css/checkbox.css
http://iobroker:8082/vis/widgets/hqwidgets/css/glossy.css
http://iobroker:8082/…ets/hqwidgets/css/odometer-theme-car.css
http://fonts.googleapis.com/css?family=Arimo
http://iobroker:8082/…hqwidgets/css/odometer-theme-default.css
http://iobroker:8082/…hqwidgets/css/odometer-theme-digital.css
http://fonts.googleapis.com/css?family=Wallpoet
http://iobroker:8082/…hqwidgets/css/odometer-theme-minimal.css
http://iobroker:8082/…s/hqwidgets/css/odometer-theme-plaza.css
http://fonts.googleapis.com/css?family=Arimo
http://iobroker:8082/…gets/css/odometer-theme-slot-machine.css
http://fonts.googleapis.com/css?family=Rye
http://iobroker:8082/…ets/css/odometer-theme-train-station.css
http://fonts.googleapis.com/css?family=Economica
http://iobroker:8082/…widgets/jqplot/css/jquery.jqplot.min.css
http://iobroker:8082/…css/jquery-ui-timepicker-addon-1.2.2.css
http://iobroker:8082/vis/widgets/metro/css/iconFont.min.css
http://iobroker:8082/…is/widgets/metro/css/metro-bootstrap.css
http://iobroker:8082/…idgets/tabs/styles/jquery.sliderTabs.css
http://iobroker:8082/…widgets/timeandweather/css/flipclock.css
http://iobroker:8082/…timeandweather/css/jquery.jdigiclock.css
http://iobroker:8082/…vis/widgets/timeandweather/css/yahoo.css
http://iobroker:8082/…dgets/timeandweather/css/simpleclock.css****Browser-Caching nutzen**** Das Festlegen eines Ablaufdatums oder eines Höchstalters in den HTTP-Headern für statische Ressourcen weist den Browser an, zuvor heruntergeladene Ressourcen über die lokale Festplatte anstatt über das Netzwerk zu laden. Nutzen Sie Browser-Caching für die folgenden cachefähigen Ressourcen: [https://developers.google.com/speed/doc … serCaching](https://developers.google.com/speed/docs/insights/LeverageBrowserCaching) >! ```` http://iobroker:8082/lib/js/jquery-1.11.2.min.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/lib/js/jquery-ui-1.11.4.full.min.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/lib/js/socket.io.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/_socket/info.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/cordova.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/css/app.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/css/backgrounds.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/css/styles.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/css/vis-common-user.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/css/vis.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/img/disconnect.png (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/js/app.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/js/config.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/js/conn.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/js/vis.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…css/jquery-ui-timepicker-addon-1.2.2.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/lib/css/jquery.multiselect-1.13.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/lib/js/can.2.3.24.custom.min.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…b/js/jquery-ui-timepicker-addon-1.2.2.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…is/lib/js/jquery.multiselect-1.13.min.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/lib/js/jquery.ui.touch-punch.min.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/lib/js/loStorage.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/lib/js/quo.standalone.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/lib/js/translate.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/bars/css/barButtons.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/bars/css/bars.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/bars/css/sidebar.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/bars/js/bars.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/bars/js/jquery.sidebar.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/basic/css/table.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/basic/js/table.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…s/widgets/colorpicker/css/farbtastic.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…vis/widgets/colorpicker/css/spectrum.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…vis/widgets/colorpicker/js/farbtastic.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…is/widgets/colorpicker/js/huepiHelper.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/colorpicker/js/jscolor.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/colorpicker/js/spectrum.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…s/fancyswitch/css/jquery.ibutton.min.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…fancyswitch/js/jquery-ui.toggleSwitch.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…ets/fancyswitch/js/jquery.ibutton.min.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…s/history/lib/js/jquery.sparkline.min.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/hqwidgets/css/checkbox.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/hqwidgets/css/glossy.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/hqwidgets/css/hqwidgets.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…dgets/hqwidgets/css/hqwidgetsButtons.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…ets/hqwidgets/css/odometer-theme-car.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…hqwidgets/css/odometer-theme-default.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…hqwidgets/css/odometer-theme-digital.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…hqwidgets/css/odometer-theme-minimal.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…s/hqwidgets/css/odometer-theme-plaza.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…gets/css/odometer-theme-slot-machine.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…ets/css/odometer-theme-train-station.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/hqwidgets/js/hqwidgets.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/hqwidgets/js/jquery.knob.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…vis/widgets/hqwidgets/js/odometer.min.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…widgets/jqplot/css/jquery.jqplot.min.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…s/widgets/jqplot/js/jquery.jqplot.min.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/metro/css/iconFont.min.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…is/widgets/metro/css/metro-bootstrap.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/metro/js/metro.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/rgraph/js/RGraph.bar.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…/widgets/rgraph/js/RGraph.common.core.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…dgets/rgraph/js/RGraph.common.dynamic.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…dgets/rgraph/js/RGraph.common.effects.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…s/widgets/rgraph/js/RGraph.common.key.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…gets/rgraph/js/RGraph.common.tooltips.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/rgraph/js/RGraph.gauge.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/rgraph/js/RGraph.line.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…/widgets/rgraph/js/RGraph.thermometer.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/vis/widgets/tabs/jquery.sliderTabs.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…idgets/tabs/styles/jquery.sliderTabs.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…widgets/timeandweather/css/flipclock.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…timeandweather/css/jquery.jdigiclock.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…dgets/timeandweather/css/simpleclock.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…vis/widgets/timeandweather/css/yahoo.css (Ablaufdatum nicht festgelegt) http://iobroker:8082/…s/widgets/timeandweather/js/coolclock.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…andweather/js/flipclock/flipclock.min.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…s/timeandweather/js/jquery.jdigiclock.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…timeandweather/js/jquery.zweatherfeed.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…s/widgets/timeandweather/js/moreskins.js (Ablaufdatum nicht festgelegt) http://iobroker:8082/…ets/timeandweather/js/segment-display.js (Ablaufdatum nicht festgelegt)
Sichtbare Inhalte priorisieren
Für Ihre Seite sind zusätzliche Netzwerk-Roundtrips erforderlich, um die ohne Scrollen sichtbaren Inhalte ("above the fold"-Inhalte) darstellen zu können. Reduzieren Sie die zur Darstellung von "above the fold"-Inhalten erforderliche HTML-Menge, um eine optimale Leistung zu erzielen.
Die gesamte HTML-Antwort war nicht ausreichend, um den ohne Scrollen sichtbaren Inhalt zu rendern. Dies weist üblicherweise darauf hin, dass zusätzliche, nach dem Parsen des HTML geladene Ressourcen zum Rendern des ohne Scrollen sichtbaren Inhalts erforderlich waren. Priorisieren Sie den sichtbaren Inhalt, der zum Rendern ohne Scrollen erforderlich ist, indem Sie ihn direkt in die HTML-Antwort integrieren.
https://developers.google.com/speed/doc … bleContent
Hier gibt es keine Liste, denn:
Keiner der Seiteninhalte, die in der endgültigen Version ohne Scrollen sichtbar sind, konnte gerendert werden, auch nicht mit der vollständigen HTML-Antwort.
HTML reduzieren
Durch die Komprimierung des HTML-Codes, einschließlich der darin enthaltenen Inline-JavaScripts und CSS, können viele Datenbytes gespart und das Herunterladen und Parsen beschleunigt werden.
Reduzieren Sie HTML für die folgenden Ressourcen, um ihre Größe um 191,8 KB (24 %) zu verringern.
! ````
Durch die Reduzierung von http://iobroker:8082/vis/index.html könnten 191,8 KB (24 %) eingespart werden.****CSS reduzieren**** Durch die Komprimierung des CSS-Codes können viele Datenbytes gespart und das Herunterladen und Parsen beschleunigt werden. Reduzieren Sie CSS für die folgenden Ressourcen, um ihre Größe um 83,6 KB (16 %) zu verringern. [https://developers.google.com/speed/doc … yResources](https://developers.google.com/speed/docs/insights/MinifyResources) >! ```` Durch die Reduzierung von http://iobroker:8082/…is/widgets/metro/css/metro-bootstrap.css könnten 35,4 KB (12 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/css/backgrounds.css könnten 6,3 KB (15 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/hqwidgets/css/hqwidgets.css könnten 6 KB (18 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/metro/css/iconFont.min.css könnten 6 KB (23 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/bars/css/barButtons.css könnten 5,9 KB (18 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/css/vis.css könnten 4,7 KB (36 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…dgets/hqwidgets/css/hqwidgetsButtons.css könnten 4,2 KB (16 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/hqwidgets/css/checkbox.css könnten 3,8 KB (27 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…vis/widgets/colorpicker/css/spectrum.css könnten 2,7 KB (19 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/hqwidgets/css/glossy.css könnten 2,2 KB (24 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…widgets/timeandweather/css/flipclock.css könnten 1,9 KB (20 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…idgets/tabs/styles/jquery.sliderTabs.css könnten 1 KB (15 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…timeandweather/css/jquery.jdigiclock.css könnten 1.023 Byte (25 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis.0/main/vis-user.css?_=1469394851197 könnten 967 Byte (23 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/…s/widgets/colorpicker/css/farbtastic.css könnten 875 Byte (63 %) eingespart werden. Durch die Reduzierung von http://iobroker:8082/vis/widgets/bars/css/sidebar.css könnten 706 Byte (19 %) eingespart werden.
-
Hallo fitti,
Danke für deine Mühe.
Ich habe mir nur die Überschriften angesehen.
Wenn ich mit meiner Theorie richtig liege, dass eine Ursache für die Beanspruchung im frontend zu suchen ist, könnten Umstellungen in dies Richtungen eher kontraproduktiv sein.
Ein Tablet hat wahrscheinlich genau mit diesen Aufgaben schon zuviel zu tun. Die gesendete Datenmenge könnte da nur ein kleineres Problem darstellen.
Auch der Cache ist zumindest bei mir wahrscheinlich wegen nur 1GE RAM zu gering.
Gestern auf dem NUCi5 als Frontend gab es keinerlei Probleme.
Den Einwand in deinem vorigen Beitrag, dass RasPi oder cubietruck am gBit Netzwerk hängen, gilt nur teilweise. Schließlich hängt das Tablet zu fast 100% im WLAN.
Allerdings haben einige ihren RasPi auch im WLAN. Das kann das Ganze natürlich noch mehr verschlimmern.
Gruß
Rainer
-
Hallo Rainer,
die BananaPi ist nur der Client. Der IOBroker Server läuft auf einem Cubieboard 3 (Cubietruck) zusammen mit Yahm. Der Cubietruck hat genug Performance und auch Ram. Daran liegt es sicher nicht.
Gruß
Vore
Hallo vore,
wenn ich dich richtig verstehe hast du einen BananaPi (Standard) mit (angedocktem) 7" (Touch?)Screen auf dem sowohl der ioBroker Server, als auch der Browser läuft, mit dem du visualisierst?
Da wirst du mit Sicherheit an die Grenzen des Systems stoßen `
-
Hallo Zusammen,
auch ich bin davon betroffen das nach Umstellung von CCU.io/DashUI auf ioBroker/VIS die VIS Darstellung im Browser (ein permanent am Hauseingang montiertes iPad2) dazu führt das z.B. Statusupdate von geöffneten/geschlossenen Türen nicht mehr instantan angezeigt werden. Ich habe dazu auch bereits einen anderen Thread diesbzgl. geöffnet (http://forum.iobroker.net/viewtopic.php … 386#p31070) wurde dann aber auf diesen hier verwiesen.
Mein Problem manifestiert sich so, dass wenn ich auf dem iPad (egal über welche Browserengine) die VIS seite frisch öffne erst einmal alles soweit ganz zu läuft und auch Statusänderungen wie z.B. Haustür geöffnet/geschlossen unmittelbar dort dargestellt wird. Lasse ich dann aber die VIS Seite eine weile am iPad werkeln kommt es nach kurzer Zeit dazu das die Statusänderungen eben leider nicht mehr instantan dargestellt werden sondern mitunter bis zu 10 sek vergehen können bis die geöffnete Tür entsprechend dargestellt wird. Lade ich zwischendrin die VIS Seite komplett neu wird der status sofort mit dem korrekten Statuswert dargestellt.
Das Problem verschärft sich sogar noch wenn ich zwischendrin das iPad schlafen gehen lasse (habe einen Rahmen mit integriertem Statusdisplay und Magneten die das iPad entsprechend mechanisch schlafen gehen lassen. Wenn dann nämlich das iPad wieder aufgeweckt wird dann ist die VIS seite und alle Status die dort angezeigt werden erst einmal total out-of-sync und es dauert mitunter 1-2 Minuten bis sich alles wieder eingekriegt hat oder VIS sich automatisch selbst komplett neu geladen hat. Dann wiederum funktioniert erst einmal für eine halbe Minute alles wieder und dann werden statusänderungen wieder nicht mehr instantan dargestellt.
Wie gesagt hatte ich solche Effekte mit ccu.io/dashUI nicht und es frustriert auch inzwischen leider ein bisschen das hier anscheinend entweder ioBroker soviel mehr browser Ressourcen braucht als dashui oder man das Problem nicht wirklich zu fassen bekommt. Würde ja auch gerne selbst das ganze irgendwie tiefer Debuggen wollen, aber leider fehlt mir da bisschen irgendwo der Ansatzpunkt. Über Hilfestellung (z.B. auch von Bluefox) wäre ich wirklich dankbar.
-
Hallo Jens,
@jens.maus:wurde dann aber auf diesen hier verwiesen. `
Ist schön wenn alles zusammen in einem Thread steht, aber so war das nicht gemeint. Nur ob hier vielleicht Infos für dich drin stehen.das die Statusänderungen eben leider nicht mehr instantan dargestellt werden sondern mitunter bis zu 10 sek vergehen können bis die geöffnete Tür entsprechend dargestellt wird. `
Dieses Phänomen für sich ist nicht bekannt.Wie sehen denn die anderen Visualisierungen aus? (z.B. Temperatur o.a., das cyklisch geloggt wird und nicht auf Änderungen angewiesen ist?
Oder Charts?
Ist alles quälend langsam? Auch das Umschalten von views?
So etwas ist bekannt.
Bisher habe ich den Eindruck, dass die Ursache tatsächlich auf das Frontend einzugrenzen ist. Allerdings sollte ein iPad (RAM?) doch einiges schaffen.
@jens.maus:Lade ich zwischendrin die VIS Seite komplett neu wird der status sofort mit dem korrekten Statuswert dargestellt. `
Das deutet nicht auf zu schwache Hardware, eher tatsächlich in die Richtung immer stärker eingreifende Stromsparsysteme, bei iPad schon früher, bei Android in den letzten Versionen.man das Problem nicht wirklich zu fassen bekommt. Würde ja auch gerne selbst das ganze irgendwie tiefer Debuggen wollen, aber leider fehlt mir da bisschen irgendwo der Ansatzpunkt. `
So geht es mir auch, vielleicht schaffen wir es ja gemeinsam.Gruß
Rainer
-
das die Statusänderungen eben leider nicht mehr instantan dargestellt werden sondern mitunter bis zu 10 sek vergehen können bis die geöffnete Tür entsprechend dargestellt wird.
Dieses Phänomen für sich ist nicht bekannt.
Jens hat es exakt beschrieben. Genau so ist es auch bei mir! Türstatus stark verzögert, bei mir lasse ich Display ausgehen, resync 1-2Minuten, usw. ich wiederhole jetzt nicht alles.
Ich habe auch eine Menge Widgets gelöscht (z. B. Camera Widgets).
Meine Zusammenfassung zuvor war NICHT auf dem Tablet, sondern auf dem PC mittels Google Devoloperhelp. WLAN lasse ich außen vor.
Und ich möchte noch mal erwähnen, dass auch meine PC Browser zusammenbrechen! Lasse ich diese eine Weile auf (meist mit vis und/oder admin), dann werden diese quälend langsam - auch auf anderen Webseiten! Der PC ist aber nicht ausgelastet.
Ich kann es drehen wie ich will, es liegt meiner Meinung nach am Browser - besser gesagt am geladenen Inhalt. Daher auch meine Auswertung weiter oben.
<u>Die Fakten aus meiner Sicht:</u>
-
Android,
-
iPad,
-
PC Browser mit Firefox…
-
… und Chrome zeigen identische oder ähnliche Probleme mit der Performance nur innerhalb des Browsers.
Auf Tablet oder PC arbeiten die anderen Tasks (z. B. FTP und SayitAusgabe via Mediaplayer24) zeitnah und schnell, auch wenn der Browser .vis quälend langsam anzeigt.
-
-
Ich kann es drehen wie ich will, es liegt meiner Meinung nach am Browser - besser gesagt am geladenen Inhalt. Daher auch meine Auswertung weiter oben. `
Auch ich denke es liegt in der Tat an dem was der Browser an Javascript von VIS zur Abarbeitung bekommt. Gerade bei größeren VIS Umgebungen kann die menge des Javascript ja schon sehr rasant und stark ansteigen. Trotzdem denke ich müssten eigentlich moderne Browserengines damit recht gut und performant klar kommen. Deshalb vermute ich immer noch das irgendwo in VIS ein bottleneck bzw. bug existiert das die Browser alle in die Knie gehen lässt weil irgendwelche Javascript Funktionen vermehrt aufgerufen werden. Denn auch hier passiert es z.B. auf meinem Linux server (intel NUC i5) das dort der Firefox konstant 100% CPU Last macht sobald ich die VIS seite eine weile darstellen lasse.
Ich denke man bzw. Bluefox wird ggf. nicht drumrum kommen hier ein detailliertes Debugging der gesamten Javascript Mechanismen in VIS zu tätigen. Ich selbst bin zwar kein Javascript Entwickler, aber ich habe hier im Firefox z.B. einfach mal kurzerhand mit F12 den Debugger bzw. die Performance-Messengine angeworfen und einfach mal die funktionsaufrufe in VIS im Leerlauf mitaufnehmen lassen. Und ich kann da z.B. erkennen, dass bei mir mehr als 50% der Zeit VIS damit verbringt konstant "_setTimeout()" in vis.js nacheinander aufzurufen. Vielleicht kann der Eine oder andere das ja mal versuchen zu reproduzieren.
-
Und ich kann da z.B. erkennen, dass bei mir mehr als 50% der Zeit VIS damit verbringt konstant "_setTimeout()" in vis.js nacheinander aufzurufen. Vielleicht kann der Eine oder andere das ja mal versuchen zu reproduzieren. `
Hatte ich nicht so gefunden - wo hast Du es wie gesehen?Ich stelle gerade nur fest, dass der Speicher immer weiter, lamgsam, zuläuft. Habe nur vis in Ruhe im Taskmanager beobachtet. Langsam aber stetig steigt es, dann fällt es mal wieder ein bischen, dann steigt es wieder. Im Mittel verzeichne ich einen positiven Anstieg. Das wäre auch eine Erklärung. Im moment suche ich noch nach Mitteln, wie ich herausfinde, was da genau den Speicher benötigt… Watson - übernehmen Sie...
-
Redet ihr von dem Speicher des Front Ende oder vom Server?
Gruß
Rainer
-
Redet ihr von dem Speicher des Front Ende oder vom Server? `
Wir reden from Frontend der im jeweiligen Browser läuft. All die Symptome die ich/wir hier sehen deuten eigentlich sehr stark darauf hin das irgendetwas mit dem Frontend nicht stimmt und dafür verantwortlich ist das es über längere Zeit immer langsamer wird bzw. Updates nicht instantan passieren und man fast regelmäßig die Verbindung zu VIS komplett neu starten muss.
-
Schönes Beispiel am PC. Habe heute so um die 6h .vis und admin offen gelassen. Und auch andere Sachen dann im Browser gemacht. Z. B. das Forum genervt oder ioBroker Skripte zu schreiben versucht.
Nach einiger Zeit war der Firefox träge, bei allen JS-Dingen. So schlimm, dass z. B. der rechte Forums-EineIdee Button einfach nicht mehr ging! Das hing genauso wie auf dem Tablet vis träge ist.
Erst ein Neustart des Rechners half auf die Schnelle, wobei ich nicht probierte, den schuldigen Task zu finden.
Wenn ich aber wie gestern den ganzen Tag was anderes online mit JavaScript im Firefox am selben Rechner in der gleichen Umgebung programmiere (z. B. ein JS-Spiel mit canvas Technik), passiert das nicht.
Also einwandfrei das FrontEnd.
-
Hallo,
das hier geschilderte Verhalten der immer träger reagierenden vis-Views stelle ich in entsprechender Weise auch bei der ioBroker.vis App für Android fest. Bringt diese einen eigenen Browser mit, oder warum verhält sie sich vergleichbar?
Übrigens, ioBroker selbst läuft auf meinem Raspi 3 nach wie vor flüssig und schnell. Wenn ich z.B. eine Anfrage über den Telegram- und den text2command-Adapter an ioBroker sende, erhalte ich umgehend eine Rückantwort. Auch Flot reagiert in Verbindung mit MariaDB auf meiner DiskStation immer noch sehr schnell und verzögerungsfrei.
Bis dann,
Thorsten