Frage

Ich habe eine Anwendung in Grails. Ich benutze Hibernate auf die Datenbank zuzugreifen (pro Standard grails Regeln) Ich verwende MySql und die Website funktioniert und stabil ist (für 6 Monate).

Ich tue Belastungstests, und vor kurzem entdeckt, dass die Datenbank weist Verbindungen unter Last.

Mit MySQL Server 5, kann ich sehen, Fäden angeschlossen schweben rund 20 Dachte, ich springt zwischen 11 - 30

mysql> show status like '%con%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| Aborted_connects         | 72    |
| Connections              | 65539 |
| Max_used_connections     | 101   |
| Ssl_client_connects      | 0     |
| Ssl_connect_renegotiates | 0     |
| Ssl_finished_connects    | 0     |
| Threads_connected        | 1     |
+--------------------------+-------+
7 rows in set (0.00 sec)

Meine Datenbank-Konfiguration ist Standard. (Der MySQL-Server lokal installiert ist, nicht gezeigt)

dataSource {
    pooled = false
    driverClassName = "com.mysql.jdbc.Driver"
    username = "username"
    password = "secret"

    maxIdle = 15
    maxActive = 100        
}

Soll ich C3P0 untersuchen? Oder sollte ich meine maxActive bis 1000 und das Beste hoffen Ratschen up?

War es hilfreich?

Lösung

Welche Fehler ist Grails Berichterstattung, wenn es nicht eine Datenbankverbindung bekommen? Auszeit? Refused?

Wenn Sie Ihren Test ausführen, wie geladen ist die Box? Prozent CPU, Speichernutzung, etc.

Es ist möglich, wird die Datenbank nur so überlastet, dass Grails wird immer Verbindungen Timeout. Wenn Sie Last bewältigen wollen, werden Sie wollen gepoolt DB-Verbindungen gehen. Ohne Pooling, Grails eine DB-Verbindung mit jeder Anforderung öffnen und schließen.

Andere Tipps

Überprüfen Sie Ihre MySQL-Konfiguration (/etc/mysql.conf oder es ist lokale Äquivalent), insbesondere die max Verbindungen und max conn pro Benutzereinstellungen; Das klingt, als ob es von mysql und nicht grails kommen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top