NEWS
{gelöst} SQL Adapter - zu viele gleichzeitige Verbindungen
-
Hallo
ich habe die Anzahl der zu loggenden Datenpunkte schon auf das Notwendigste reduziert.
Wenn ich den ReGa Adapter neu starte, ist die Verbindung zum SQL Server überfordert, weil da zu viele Anfragen kurz hintereinander kommen. So würde ich jedenfalls das Log File interpretieren.
Im laufenden betrieb gibt es keine Probleme.
Kann man das vermeiden, oder durch eine (einstellbare) Verzögerung zwischen den Anfragen kompensieren.
Eigentlich braucht die Verzögerung auch nur bei der ersten Initialisierung zu wirken, die durch den neustart des HM Rega Adapters angestossen wird.
Ist da was machbar?
An meinem SQL Server kann ich da nix einstellen, jedenfalls nicht das ich wüsste.
Bei MS Sql habe ich die Anzahl der gleichzeitigen Zugriffe als Parameter schon mal gesehen.
hm-rega-0 2016-06-11 19:50:08.665 info got state values sql-0 2016-06-11 19:50:04.123 error Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.105 warn Cannot get index of "hm-rega.0.14753": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.103 warn Cannot get index of "hm-rega.0.13614": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.101 warn Cannot get index of "hm-rega.0.13613": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.099 warn Cannot get index of "hm-rega.0.12844": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.097 warn Cannot get index of "hm-rega.0.12809": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.095 warn Cannot get index of "hm-rega.0.12456": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.093 warn Cannot get index of "hm-rega.0.10502": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.091 warn Cannot get index of "hm-rega.0.10130": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.089 warn Cannot get index of "hm-rega.0.9626": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.087 warn Cannot get index of "hm-rega.0.8243": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.085 warn Cannot get index of "hm-rega.0.8212": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.083 warn Cannot get index of "hm-rega.0.6218": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.081 warn Cannot get index of "hm-rega.0.4373": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.079 warn Cannot get index of "hm-rega.0.3699": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.077 warn Cannot get index of "hm-rega.0.3698": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.075 warn Cannot get index of "hm-rega.0.3510": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.071 warn Cannot get index of "hm-rega.0.2475": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.069 warn Cannot get index of "hm-rega.0.2200": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.067 warn Cannot get index of "hm-rega.0.2199": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.065 warn Cannot get index of "hm-rega.0.2074": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.063 warn Cannot get index of "hm-rega.0.2073": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.061 warn Cannot get index of "hm-rega.0.1879": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.059 warn Cannot get index of "hm-rega.0.1352": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.057 warn Cannot get index of "hm-rega.0.950": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.055 warn Cannot get index of "hm-rega.0.maintenance": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.053 warn Cannot get index of "hm-rega.0.10146.ProgramExecute": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.051 warn Cannot get index of "hm-rega.0.18999.ProgramExecute": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.049 warn Cannot get index of "hm-rega.0.19451.ProgramExecute": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:04.046 warn Cannot get index of "hm-rega.0.12243.Active": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.688 warn Cannot get index of "hm-rega.0.9871.Active": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.686 warn Cannot get index of "hm-rega.0.11155.ProgramExecute": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.684 warn Cannot get index of "hm-rega.0.12256.Active": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.681 warn Cannot get index of "hm-rega.0.11652.Active": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.679 warn Cannot get index of "hm-rega.0.11482.ProgramExecute": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.677 warn Cannot get index of "hm-rega.0.19451.Active": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.674 warn Cannot get index of "hm-rega.0.11664.ProgramExecute": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.672 warn Cannot get index of "hm-rega.0.10146.Active": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.669 warn Cannot get index of "hm-rega.0.12243.ProgramExecute": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.666 warn Cannot get index of "hm-rega.0.10158.ProgramExecute": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.664 warn Cannot get index of "hm-rega.0.12256.ProgramExecute": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.566 error Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.561 warn Cannot get index of "hm-rega.0.19027.Active": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.559 warn Cannot get index of "hm-rega.0.11011.Active": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.557 warn Cannot get index of "hm-rega.0.11545.Active": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:03.555 warn Cannot get index of "hm-rega.0.10158.Active": Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-11 19:50:02.624 info enabled logging of hm-rega.0.22889 sql-0 2016-06-11 19:50:02.623 info enabled logging of hm-rega.0.22888 sql-0 2016-06-11 19:50:02.623 info enabled logging of hm-rega.0.21328 sql-0 2016-06-11 19:50:02.623 info enabled logging of hm-rega.0.21327 sql-0 2016-06-11 19:50:02.623 info enabled logging of hm-rega.0.21005 sql-0 2016-06-11 19:50:02.622 info enabled logging of hm-rega.0.21004 sql-0 2016-06-11 19:50:02.622 info enabled logging of hm-rega.0.20439 sql-0 2016-06-11 19:50:02.622 info enabled logging of hm-rega.0.20265 sql-0 2016-06-11 19:50:02.622 info enabled logging of hm-rega.0.20220 sql-0 2016-06-11 19:50:02.621 info enabled logging of hm-rega.0.20219 sql-0 2016-06-11 19:50:02.621 info enabled logging of hm-rega.0.19962 sql-0 2016-06-11 19:50:02.621 info enabled logging of hm-rega.0.19933 sql-0 2016-06-11 19:50:02.621 info enabled logging of hm-rega.0.19820
-
Probier mal die Version vom git.
Da gibt es jetzt eine Einstellung: Parallelanfragen erlauben
-
Probier mal die Version vom git.
Da gibt es jetzt eine Einstellung: Parallelanfragen erlauben `
ERROR siehe Screenshot
-
Hallo
nachdem ich das Installations PopUp geschlossen habe, scheint doch noch was gelaufen zu sein.
Installiert 1.0.8
Die Fehler sind noch da und das neue Einstellfeld kann ich nicht sehen.
-
Probier mal die Version vom git.
Da gibt es jetzt eine Einstellung: Parallelanfragen erlauben `
ERROR siehe Screenshot
filename="Screenshot 2016-06-12 17.28.08.png" index="0">~~ `
Warte, da wird es weiter gehen. "Falling back to source compile"Sollte bei dir schon eigentlich installiert sein. Prüfe die Version.
-
Hallo
wie ich schon schrieb, ist die installierte Version 1.0.8
Das Dialogfeld hat sich nicht verändert. Kein Haken für parallelen Zugriff.
BTW Was bedeutet eigentlich "Aufrunfen auf" 4 ???
-
Hallo
wie ich schon schrieb, ist die installierte Version 1.0.8
Das Dialogfeld hat sich nicht verändert. Kein Haken für parallelen Zugriff.
BTW Was bedeutet eigentlich "Aufrunfen auf" 4 ??? `
noch````
cd /opt/iobroker
iobroker update sqlAufrufen. Aufrunden auf: 2 heißt, dass alle werte nur maximal zwei Zahlen nach Komma haben werden.
-
Hallo
am SQL Adapter hat sich nichts geändert, oder ich bin zu dumm.
(danke für die Erklärung des Rundung)
-
hier mal das log. Da steht auch Version 1.0.8
<code>2016-06-13 23:36:44.226 - [32minfo[39m: host.raspi-3 object change system.adapter.sql.0 2016-06-13 23:36:44.227 - [32minfo[39m: host.raspi-3 stopInstance system.adapter.sql.0 2016-06-13 23:36:44.228 - [32minfo[39m: host.raspi-3 stopInstance system.adapter.sql.0 killing pid 19945 2016-06-13 23:36:44.289 - [32minfo[39m: host.raspi-3 instance system.adapter.sql.0 terminated with code 0 (OK) 2016-06-13 23:36:46.749 - [32minfo[39m: host.raspi-3 instance system.adapter.sql.0 started with pid 19959 2016-06-13 23:36:49.049 - [32minfo[39m: sql.0 starting. Version 1.0.8 in /opt/iobroker/node_modules/iobroker.sql[/code]</code>
-
Hallo
am SQL Adapter hat sich nichts geändert, oder ich bin zu dumm.
(danke für die Erklärung des Rundung)
filename="Screenshot 2016-06-13 23.31.24.png" index="1">~~
filename="Screenshot 2016-06-13 23.30.27.png" index="2">~~ `
Schalt mal kurz um auf SQLite und dann sofort zurück. Dann wird die Option sichtbar sein. Werde fixen. -
Schalt mal kurz um auf SQLite und dann sofort zurück. Dann wird die Option sichtbar sein. Werde fixen. `
Ich habe umgeschaltet. Speichern und Schließen. Zurück auf MySQL Speicher und schließen.
Hat nicht funktioniert.
Adapter neu gestartet.
Das neue Kästchen ist nicht da
-
Schalt mal kurz um auf SQLite und dann sofort zurück. Dann wird die Option sichtbar sein. Werde fixen. `
Ich habe umgeschaltet. Speichern und Schließen. Zurück auf MySQL Speicher und schließen.
Hat nicht funktioniert.
Adapter neu gestartet.
Das neue Kästchen ist nicht da `
Dann hast du "iobroker upload sql" doch nicht aufgerufen. Sonst kann ich nicht erklären. -
Dann hast du "iobroker upload sql" doch nicht aufgerufen. Sonst kann ich nicht erklären. `
Hallo
ich habe "update" statt "upload" gemacht. Hattest Du oben auch so geschrieben.
Jetzt ist das Kästchen für Parallelanfragen vorhanden. Ich vermute, ich soll den Haken weg machen?
-
Hallo
ich habe Parallelanfragen abgeschaltet und den Adapter neu gestartet.
Es ist subjektiv besser geworden, aber ganz weg ist das Problem noch nicht.
Gibt es Auswirkungen auf den laufenden Betrieb, oder ist es nur ein Fehler beim Start, weil so viele schnelle Zugriffe erfolgen?
sql-0 2016-06-14 15:04:56.633 error Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-14 15:04:56.631 error Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-14 15:04:56.243 error Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-14 15:04:56.241 error Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-14 15:04:56.239 error Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-14 15:04:56.236 error Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-14 15:04:56.233 error Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-14 15:04:56.230 error Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-14 15:04:56.224 error Error: ER_CON_COUNT_ERROR: Too many connections sql-0 2016-06-14 15:04:09.770 info Connected to mysql sql-0 2016-06-14 15:04:09.184 info enabled logging of hm-rpc.0.*IBO0003833.1.STATE sql-0 2016-06-14 15:04:09.184 info enabled logging of hm-rpc.0.NEQ0322376.1.LUX sql-0 2016-06-14 15:04:09.184 info enabled logging of hm-rpc.0.NEQ0322376.0.UPDATE_PENDING sql-0 2016-06-14 15:04:09.184 info enabled logging of hm-rpc.0.NEQ0322376.0.UNREACH sql-0 2016-06-14 15:04:09.184 info enabled logging of hm-rpc.0.NEQ0322376.0.STICKY_UNREACH sql-0 2016-06-14 15:04:09.184 info enabled logging of hm-rpc.0.NEQ0322376.0.LOWBAT sql-0 2016-06-14 15:04:09.184 info enabled logging of hm-rpc.0.NEQ0322376.0.DEVICE_IN_BOOTLOADER sql-0 2016-06-14 15:04:09.183 info enabled logging of hm-rpc.0.NEQ0322376.0.CONFIG_PENDING sql-0 2016-06-14 15:04:09.183 info enabled logging of hm-rpc.0.MEQ0678347.1.WORKING sql-0 2016-06-14 15:04:09.183 info enabled logging of hm-rpc.0.MEQ0678347.1.STOP sql-0 2016-06-14 15:04:09.182 info enabled logging of hm-rpc.0.MEQ0678347.1.LEVEL sql-0 2016-06-14 15:04:09.182 info enabled logging of hm-rpc.0.MEQ0678347.1.DIRECTION sql-0 2016-06-14 15:04:09.182 info enabled logging of hm-rpc.0.MEQ0678347.0.UPDATE_PENDING sql-0 2016-06-14 15:04:09.182 info enabled logging of hm-rpc.0.MEQ0678347.0.UNREACH sql-0 2016-06-14 15:04:09.182 info enabled logging of hm-rpc.0.MEQ0678347.0.STICKY_UNREACH sql-0 2016-06-14 15:04:09.181 info enabled logging of hm-rpc.0.MEQ0678347.0.DUTYCYCLE sql-0 2016-06-14 15:04:09.181 info enabled logging of hm-rpc.0.MEQ0678347.0.DEVICE_IN_BOOTLOADER sql-0 2016-06-14 15:04:09.181 info enabled logging of hm-rpc.0.MEQ0678347.0.CONFIG_PENDING sql-0 2016-06-14 15:04:09.181 info enabled logging of hm-rpc.0.MEQ0283738.1.STATE sql-0 2016-06-14 15:04:09.181 info enabled logging of hm-rpc.0.MEQ0283738.1.LOWBAT sql-0 2016-06-14 15:04:09.181 info enabled logging of hm-rpc.0.MEQ0283738.1.ERROR sql-0 2016-06-14 15:04:09.181 info enabled logging of hm-rpc.0.MEQ0283738.0.UPDATE_PENDING sql-0 2016-06-14 15:04:09.180 info enabled logging of hm-rpc.0.MEQ0283738.0.UNREACH sql-0 2016-06-14 15:04:09.180 info enabled logging of hm-rpc.0.MEQ0283738.0.STICKY_UNREACH sql-0 2016-06-14 15:04:09.180 info enabled logging of hm-rpc.0.MEQ0283738.0.LOWBAT sql-0 2016-06-14 15:04:09.180 info enabled logging of hm-rpc.0.MEQ0283738.0.DEVICE_IN_BOOTLOADER sql-0 2016-06-14 15:04:09.180 info enabled logging of hm-rpc.0.MEQ0283738.0.CONFIG_PENDING sql-0 2016-06-14 15:04:09.180 info enabled logging of hm-rpc.0.MEQ0272626.6.DECISION_VALUE sql-0 2016-06-14 15:04:09.179 info enabled logging of hm-rpc.0.MEQ0272626.5.DECISION_VALUE sql-0 2016-06-14 15:04:09.179 info enabled logging of hm-rpc.0.MEQ0272626.4.DECISION_VALUE sql-0 2016-06-14 15:04:09.179 info enabled logging of hm-rpc.0.MEQ0272626.3.DECISION_VALUE sql-0 2016-06-14 15:04:09.178 info enabled logging of hm-rpc.0.MEQ0272626.2.VOLTAGE sql-0 2016-06-14 15:04:09.178 info enabled logging of hm-rpc.0.MEQ0272626.2.POWER sql-0 2016-06-14 15:04:09.178 info enabled logging of hm-rpc.0.MEQ0272626.2.FREQUENCY sql-0 2016-06-14 15:04:09.178 info enabled logging of hm-rpc.0.MEQ0272626.2.ENERGY_COUNTER sql-0 2016-06-14 15:04:09.178 info enabled logging of hm-rpc.0.MEQ0272626.2.CURRENT sql-0 2016-06-14 15:04:09.178 info enabled logging of hm-rpc.0.MEQ0272626.2.BOOT sql-0 2016-06-14 15:04:09.177 info enabled logging of hm-rpc.0.MEQ0272626.1.WORKING sql-0 2016-06-14 15:04:09.177 info enabled logging of hm-rpc.0.MEQ0272626.1.STATE
-
Hallo
es könnte sein, dass ich das Problem selbst gelöst habe und zwar auf der Seite der Datenbank.
Es handelt sich um eine MariaDB auf einer Synology DS
Bei MariaDB ist die Anzahl dre gleichzeitigen Verbindungen default 100
Im config File der MariaDB auf der DS ist der entsprechende Parameter gar nicht gesetzt, also vermutlich = 100
Das habe ich jetzt auf 1500 geändert (lt. Tips im Internet ist 1000 …. 2500 sinnvoll)
Dann die Datenbank neu gestartet, SQL Adapter neu gestartet, keine Fehler mehr im Log.
Im SQL Adapter den haken für Parallele Anfragen wieder gesetzt, neu gestartet, keine Fehlermeldungen.
Wen es interessiert, hier kurz die Details.
das Konfig File liegt unter /etc/mysql/my.cnf
In der letzten Zeile des Files gibt es einen Include Befehl mit dem Hinweis, private Anpassungen bitte in das File
/var/packages/MariaDB/etc/my.cnf
zu packen.
Also in dem Ordner eine neue Datei "my.cnf" anlegen (falls nicht vorhanden) und folgende Einträge dort rein schreiben.
[mysqld] max_connections=1500
Das wars.
Datenbank ein mal neu starten.
Quelle: http://phpperformance.de/server/databas … ank-tuning
-
Hallo
es könnte sein, dass ich das Problem selbst gelöst habe und zwar auf der Seite der Datenbank.
Es handelt sich um eine MariaDB auf einer Synology DS
Bei MariaDB ist die Anzahl dre gleichzeitigen Verbindungen default 100
Im config File der MariaDB auf der DS ist der entsprechende Parameter gar nicht gesetzt, also vermutlich = 100
Das habe ich jetzt auf 1500 geändert (lt. Tips im Internet ist 1000 …. 2500 sinnvoll)
Dann die Datenbank neu gestartet, SQL Adapter neu gestartet, keine Fehler mehr im Log.
Im SQL Adapter den haken für Parallele Anfragen wieder gesetzt, neu gestartet, keine Fehlermeldungen.
Wen es interessiert, hier kurz die Details.
das Konfig File liegt unter /etc/mysql/my.cnf
In der letzten Zeile des Files gibt es einen Include Befehl mit dem Hinweis, private Anpassungen bitte in das File
/var/packages/MariaDB/etc/my.cnf
zu packen.
Also in dem Ordner eine neue Datei "my.cnf" anlegen (falls nicht vorhanden) und folgende Einträge dort rein schreiben.
[mysqld] max_connections=1500
Das wars.
Datenbank ein mal neu starten.
Quelle: http://phpperformance.de/server/databas … ank-tuning `
Na Super! Übrigens die Einstellung hat sowieso nicht funktioniert. Erst ab 1.0.9 -
Hallo
kleiner Nachtrag
der aktuelle Wert der Einstellung der DB lässt sich mit dem SQL Befehl
show variables like 'max_connections';
abfragen.
-
Vers 1.0.9 installiert
keine Fehlermeldungen im Log.
Alles schön
gN8