Standardvärdet för innodb_flush_log_at_trx_commit är 1 vilket betyder att varenda uppdatering måste flushas till loggen direkt. Bygger man en bank så är nog detta att rekommendera men för de flesta applikationer som inte kräver extremt hög säkerhet så räcker nog värde 2 som innebär att man bara skriver till loggen en gång per sekund. Skulle operativsystemet krascha så förlorar man alltså maximalt en sekunds ändringar.
Du ändrar värdet genom att lägga till denna rad under [mysqld] i /etc/mysql/my.cnf (eller var du nu har my.cnf):
innodb_flush_log_at_trx_commit = 2
Glöm inte att starta om mysql för att ändringen ska få effekt.
Jag har inte gjort några exakta mätningar på hur stor skillnad detta gör men det blev synbart snabbare att pusha en länk på Pusha så det är minst 10 ggr så snabbt som med värdet 1.
MySQL-dokumentationen för innodb_flush_log_at_trx_commit
Fler tips på hur man finjusterar MySQL
Inga kommentarer:
Skicka en kommentar