@Ewig23

Как настроить MQSQL сервера, чтобы сократить время выполнения запроса?

Друзья, прошу подсказать.

На Wordpress-сайте происходит фильтрация записей по таксономиям и произвольным полям. Понятно, что meta_query традиционно работает медленно, но есть нюанс. На локальном Open Server запрос в зависимости от сложности занимает от 0.5 до 4.5 секунд.
А на VDS-хостинге сложный запрос занимает от 25 до 45 секунд, может и вообще не выполнгиться!
Более чем уверен, что дело в настройках MYSQL хостинга. Прошу подсказать на какие параметры обратить внимание.

НАСТРОЙКИ MQSQL хостинга
symbolic-links=0

skip-external-locking
key_buffer_size = 32M
max_allowed_packet = 16M
table_open_cache = 10000
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
net_buffer_length = 1M
thread_stack = 240K

myisam_max_sort_file_size = 256M

#innodb_use_native_aio = 0
innodb_file_per_table

max_connections=64
max_user_connections=20
wait_timeout=10
interactive_timeout=50
long_query_time=5

НАСТРОЙКИ OPEN SERVER-а, который работает быстро:
character_set_server = utf8mb4
collation_server = utf8mb4_0900_ai_ci
datadir = "%dprogdir%\\userdata\\%mysql_driver%"
default_authentication_plugin = mysql_native_password
default_storage_engine = InnoDB
explicit_defaults_for_timestamp = 1
ft_min_word_len = 3
local_infile = 0
lower_case_table_names = 1
max_allowed_packet = 256M
mysqlx = 0
pid_file = "%dprogdir%\\userdata\\temp\\mysql.pid"
port = %mysqlport%
secure-file-priv = "%dprogdir%\\userdata\\temp\\upload"
#skip_name_resolve = 1
skip-ssl
tmpdir = "%dprogdir%\\userdata\\temp"
# Buffer Settings
bulk_insert_buffer_size = 8M
join_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
sort_buffer_size = 2M
# Connection Settings
max_connections = 64
max_connect_errors = 32
back_log = 128
thread_cache_size = 8
interactive_timeout = 180
wait_timeout = 180

# InnoDB Settings

innodb_adaptive_hash_index = 0
innodb_buffer_pool_instances = 1
innodb_buffer_pool_size = 128M
innodb_data_file_path = ibdata1:10M:autoextend
innodb_data_home_dir = "%dprogdir%\\userdata\\%mysql_driver%"
innodb_file_per_table = 1
#innodb_force_recovery = 1
innodb_log_file_size = 64M
innodb_read_io_threads = 8
#innodb_thread_concurrency = 4
innodb_write_io_threads = 8
# Logging
%log%general_log = 1
%log%general_log_file = "%dprogdir%\\userdata\\logs\\%mysql_driver%_queries.log"
log_error = "%dprogdir%\\userdata\\logs\\%mysql_driver%_error.log"
skip-log-bin
#log_queries_not_using_indexes = 1
#long_query_time = 5
#slow_query_log = 1
#slow_query_log_file = "%dprogdir%\\userdata\\logs\\%mysql_driver%_slow.log"

# MyISAM Settings
key_buffer_size = 32M
myisam_max_sort_file_size = 256M
myisam_recover_options = backup,force
# Table Settings
table_definition_cache = 10000
table_open_cache = 10000
open_files_limit = 60000
max_heap_table_size = 128M
tmp_table_size = 128M
[mysqldump]
quick
quote_names
max_allowed_packet = 16M

[myisamchk]

key_buffer_size = 64M
sort_buffer_size = 64M
read_buffer = 2M
write_buffer = 2M
[mysqld_safe]
open_files_limit = 60000

Что подскажете?
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы