Ich habe nur vergessen... dies und das zu machen.
Ich habe nur vergessen... dies und das zu machen.
Permanent wird man genervt
HomeAssistant mit WreGuard als VPN anbinden um Höhrspiele mittels audiobookshelf auf dem Handy abzuspielen
Vertragsverlängerung bei 1und1 vor Ende der Vertragslaufzeit - Das ist doch ein gutes Angebot ;)
Lenkstockschalter selbst getauscht – Tipp: vor Airbag-Ausbau Batterie abklemmen, sonst SRS-Fehler (nur in Werkstatt löschbar)
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: