Sie wollen Gearman - Es stellt die Anfragen in eine Warteschlange und fügt sie ein, sobald die Datenbank für sie bereit ist, sodass Sie Ihren DB-Server nicht überlasten.
Es gibt hier einen aktuellen (und qualitativ hochwertigen) Beitrag über die Verwendung von Datenbanken für die Protokollierung , die (zusammengefasst) lautet:
- Verwenden Sie MyISAM mit gleichzeitigen Einfügungen
- Tabellen täglich rotieren und UNION für Abfragen verwenden
- Verwenden Sie verzögerte Einfügungen mit MySQL oder einem Jobverarbeitungsagenten wie Gearman (obwohl MySQL eine Begrenzung für die Anzahl dieser Einfügungen hat, bevor es sie stillschweigend verwirft!)
HighScalability schreiben Sie über Gearman .
Wenn Sie dies wirklich vermeiden möchten, können Sie die rohen SQL-Anweisungen in eine Datei schreiben und sie mit diesem Cronjob verarbeiten:
mysql loggingDB logTable < fullLog.sql && > fullLog.sql