Nie jestem specjalistą od mysqla, więc te zmiany InnoDB mogą nie zdziałać cudów i nie rozwiążą problemów, ale wklejony plik konfiguracyjny sugeruje, że baza jedzie na jakichś domyślnych wartościach.
Może zrób sobie backup tej konfiguracji, zmodyfikuj wartości dla inno db, zrestartuj bazę i zobacz czy poszło ku lepszemu.
innodb_buffer_pool_size = 3G
innodb_buffer_pool_size_instances = 16
innodb_file_per_table = ON
innodb_log_buffer_size = 16M
innodb_log_file_size = 2G
innodb_thread_concurrency=8
Możesz też zapytać dostawcę dlaczego nie optymalizował tych ustawień inno db, ewentualnie, które parametry bazy są inne niż domyślne ;)
Możesz też sobie włączyć logowanie zapytań powolnych, bądź takich, które nie korzystają z indeksów:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes
edycja:
- Sugeruję zmiany konfiguracji dla InnoDB dlatego, że logi mówią tak "2019-12-11T0648.123183Z 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 4397ms. The settings might not be optimal. (flushed=8 and evicted=0, during the time.)"
- Logowanie "wolnych zapytań", może dostarczyć dodatkowych informacji o tym, czy któreś query nie działa wybitnie powoli.
-
innodb_log_file_size=2GB
- jest bez sensu wartością i "dobrą" wartość możesz dobrać na podstawie "workloadu" jaki masz na tej bazie -> https://www.percona.com/blog/2008/11/21/how-to-calculate-a-good-innodb-log-file-size/