[Postfixbuch-users] Probleme mit Postfix/SASL/Cyrus/MySQL und "slow queries"
Christian Boltz
postfixbuch at cboltz.de
So Jun 3 23:16:54 CEST 2007
Hallo Florian, hallo Leute,
Am Freitag, 1. Juni 2007 schrieb Rustedt, Florian:
> wir haben schon immer das Problem, daß in dieser Kombination sich
> regelmäßig "slow queries" bis hin zum Stillstand der Datenbank
> ansammeln.
[...]
> In Zahlen heißt das, das alle zwei Tage sich duetlich über 100 slow
> queries angesammelt haben, die ich dann kille.
Definiere "kille". Dass slow queries mal ein paar Sekunden mehr brauchen
ist ja klar, aber dass man sie nach Tagen killen muss, wäre mir neu.
Schalte außerdem mal das slow-queries-log in MySQL ein, falls noch nicht
erledigt:
/etc/my.cnf, Abschnitt [mysqld]
log-slow-queries=/var/lib/mysql/slow-queries.log
log-queries-not-using-indexes
Hinterher MySQL natürlich neu starten (IIRC kann es sein, dass "reload"
nicht reicht, deshalb lieber "restart" verwenden).
> ----- Postfix main.cf
In Zukunft bitte stattdessen postconf -n mitschicken ;-)
Ich kürze das Ganze mal auf die Datenbank-relevanten Optionen zusammen:
> mydestination =
> $mynetworks
> mysql:/etc/postfix/mysql/defaultdomains.cf
> mysql:/etc/postfix/mysql/userdomains.cf
Warum ohne proxy: ?
> # Using MySQL and files
> proxy_read_maps =
> proxy:mysql:/etc/postfix/mysql/mailboxes.cf
> proxy:mysql:/etc/postfix/mysql/forwarders.cf
> proxy:mysql:/etc/postfix/mysql/prusmado_users.cf
> proxy:mysql:/etc/postfix/mysql/sasl.cf
> proxy:mysql:/etc/postfix/mysql/aliases.cf
> local_recipient_maps =
> proxy:mysql:/etc/postfix/mysql/mailboxes.cf
> hash:/etc/postfix/files/relay
> virtual_alias_maps =
> proxy:mysql:/etc/postfix/mysql/forwarders.cf
> proxy:mysql:/etc/postfix/mysql/prusmado_users.cf
> hash:/etc/postfix/files/virtual
> smtp_sasl_password_maps = proxy:mysql:/etc/postfix/mysql/sasl.cf
> ----- Mysql my.conf
Ergänze hier mal um einen Query Cache - der bringt erfahrungsgemäß recht
viel:
in [mysqld]
set-variable = query_cache_size=1000000
Zugehörige Erklärungen:
- http://www.administrator.de/Der_MySQL_Query-Cache.html
- http://blog.koehntopp.de/archives/1173-MySQL-fuer-Dummies-3.html
- Die Größe des query_cache musst Du ggf. nach Bedarf anpassen
So, und jetzt kümmern wir uns noch um die ganzen mysql: Maps in Postfix
und was man daran ändern/verbessern könnte. Aaaalso...
- teilweise verwendest Du mehrere Datenbankabfragen (z. B. bei
virtual_alias_maps). Ungeschickt, das sind dann nämlich gleich mehrere
Datenbankanfragen. Besser wäre es, beides in einer Query
zusammenzufassen.
- Was steht in den mysql/*.cf-Dateien drin?
Am Besten postest Du mal den Inhalt all dieser Dateien (natürlich ohne
die MySQL-Passwörter ;-)
- Wie sieht Deine Datenbankstruktur aus? Hast Du passende Indizies
erstellt?
- Was sagt das Log bezüglich slow queries und/oder fehlenden Indizies?
Nach obigem log-slow-queries sollte sich diesbezüglich etwas finden,
falls es wirklich langsame Abfragen gibt.
- Welche MySQL-Version?
Gruß
Christian Boltz
--
Ich rede davon, daß eine defekte Schrift an freetype übergeben wird (Daß
sie defekt ist, kann ich ja nicht prüfen), woraufhin freetype irgendeine
(defekte) Anweisung im Fontcode ohne Prüfung ausführt und erstmal
getreulich versucht, sagenwirmal 5 Okobyte RAM von der Adresse $IRSINN
nach $WAHNSINN zu verschieben. [Ratti in suse-programming]
Mehr Informationen über die Mailingliste Postfixbuch-users