Umbau abgeschlossen
Umbau abgeschlossen
Ein Witz: Digitale Briefmarken laufen ab
Gnome Shell Extension Draw on Screen - Einfach auf den Desktop zeichnen und schreiben.
Wie vergebe ich Admin rollen in Librechat?
Mit der saruman TED 64kb Speichererweiterug will ich auch C16+4 Programme laufen lassen
In einem Projekt mit Codeception hat sich die Laufzeit mit der Anzahl an neuen Tests stark verlängert.
Eine Analyse mit XDebug und Profiler zeigten, dass die Datenbankzugriffe das Nadelöhr waren.
Bei allen Tests wird in der setUp() Methode die Datenbank mit einigen "TRUNCATE" Tabellen aufrufen geleert.
Datenbanken sind normalerweise nicht für das schnelle "leeren" (truncate) optimiert, sondern,, mit vielen Daten schnell zu arbeiten. In Umfeld eines Integrationstests kann das allerdings sinnvoll sein.
Die Mariadb Doku verweist auf die Einstellung `innodb_file_per_table=OFF` https://mariadb.com/kb/en/inno... um Datenbanken schneller löschen zu können. Bei meinem Setting konnten damit die Tests von 20 auf 6 Minuten beschleunigt werden.
Der Hinweis auf dieses Setting findet sich auch in der Dokumentation https://mariadb.com/kb/en/trun... .
Ich habe mir ein Container extra mit diesem Setting gebaut
Dockerfile
FROM mariadb:10.11.8
COPY mariadb.cnf /etc/mysql/conf.d/my_custom.cnf
RUN chmod 644 /etc/mysql/conf.d/my_custom.cnf
mariadb.cnf
[mysqld]
; could be removed with MariaDB 11
innodb_file_per_table=OFF
innodb_adaptive_hash_index=OFF
docker build -t mariadb-integration .
Und nun nur noch den gepachten Container in der Pipeline oder lokal verwenden. Um diesen in der Pipeline zu verwenden, muss man diesen natürlich erst in die eigene Registry oder docker Hub ablegen.
Article relase date: / Last update: