Istnieje kilka opcji konfiguracji, które należy przemyśleć przed rozpoczęciem.
Tak długo, jak w ogóle nie używasz myisam, możesz bezpiecznie przydzielić prawie wszystkie (wystarczająco dużo, aby system operacyjny działał wygodnie i wystarczająco dużo, aby max_connections) do pamięci innodb_buffer_pool. Zaletą InnoDB jest to, że samodzielnie obsługuje prawie wszystkie elementy pamięci, bez potrzeby oddzielania takich elementów, jak pamięci podręczne zapytań, bufory kluczy itp.
Zalecam włączenie innodb_file_per_table, ponieważ po prostu ułatwia przeglądanie systemu plików i sprawdzenie, ile miejsca potrzebują różne tabele i bazy danych. Nadal będziesz potrzebować ogólnego pliku ibdata do użytku wewnętrznego InnoDB, ale możesz go po prostu zdefiniować jako 10M:autoextend. Nie ma potrzeby definiowania wielu różnych plików danych innodb o wstępnie przydzielonych rozmiarach.
innodb_log_file_sizei innodb_log_buffer_sizepołączone muszą być większe niż dziesięciokrotnie twój największy obiekt typu blob, jeśli masz dużo dużych. Jeśli tego nie zrobisz (a nie powinieneś [ 1 , 2 ]), naprawdę nie musisz się tym przejmować. Sprawdź blog wydajności MySQL, aby uzyskać szczegółowy raport na temat obliczania.
A kiedy już uruchomisz MySQL, sprawdź ustawienia za pomocą MySQLTuner lub MySQL Tuning Primer .
Aby uzyskać bardziej szczegółowy raport, wypróbuj mysqlreport , a do monitorowania na żywo sprawdź mytop .