2016-07-11 7 views
0

Ich habe mit Linux, Debian Jessie mit Mysql 5.7.13 installiert.MySQL max_connections

ich folgende Einstellungen gesetzt haben in

my.cnf: default_storage_engine= innodb, innodb_buffer_pool_size= 44G

Wenn ich MySQL beginne ich manuell set max_connections mit SET GLOBAL max_connections = 1000;

Dann auslösen ich meine Lasttest, die viel Verkehr auf den DB-Server sendet, die meist aus langsame/schlechte Abfragen.

Das Ergebnis, das ich erwartete, war, dass ich fast 1000 Verbindungen erreichen würde, aber irgendwie begrenzt MySQL es auf 462 Verbindungen und ich kann die Einstellung nicht finden, die für dieses Limit verantwortlich ist. Wir sind nicht einmal annähernd dabei, die CPU oder den Speicher zu maximieren.

Wenn Sie irgendeine Idee haben oder könnte mich in eine Richtung zeigen, wo Sie denken, dass der Fehler sein könnte, wäre es wirklich hilfreich.

Antwort

0

Welchen Auslastungstest haben Sie verwendet? Sind Sie sicher, dass es Tausende von Verbindungen nutzen kann?

Sie können Ihre Server-Ressourcen im Bereich der Datenträger-E/A auslasten, insbesondere wenn Sie über viele langsame/schlechte Abfragen sprechen. Haben Sie auf Ihrem Server nach einer Festplattennutzung gesucht?

Auch wenn Ihre InnoDB-Poolgröße groß ist, muss Ihre Datenbank Ihre DB immer noch zuerst im Cache lesen, und wenn Ihre gesamte Datenbank groß ist, wird es Ihnen nicht weiterhelfen.

Ich kann Ihnen empfehlen, einen solchen Test noch einmal durchzuführen und Ihre Festplattenleistung während des Belastungstests mithilfe des Iostat- oder iotop-Dienstprogramms nachzuverfolgen.

Suchen Sie nach here, um weitere Beispiele für die Fehlerbehebung bei der Serverleistung zu erhalten.

0

Ich fand das Problem, es war eine Einschränkung des Apache-Servers, es gibt eine "versteckte" Einstellung in /etc/apache2/mods-enabled/mpm_prefork.conf, die Einstellung in/etc/apache2/apache2 überschreiben wird. conf

Vielen Dank!

Verwandte Themen