Настройка MySQL

zloj
На сайте с 06.08.2007
Offline
140
1452

Помогите настроить MySQL оптимально, конфигурация сервера:

Intel® Core™ i7-2600 Quad-Core

16 GB DDR 3 RAM

2 x 3 TB SATA 6 Gb/s HDD; 7200 rpm (Software-RAID 1)

Используются только таблицы InnoDB и Memory

Текущий my.cnf:

# The following options will be passed to all MySQL clients

[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 100M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
server-id = 1
character-set-server = utf8

# Uncomment the following if you want to log updates
#log-bin=mysql-bin

# binary logging format - mixed recommended
#binlog_format=mixed

# Causes updates to non-transactional engines using statement format to be
# written directly to binary log. Before using this option make sure that
# there are no dependencies between transactional and non-transactional
# tables such as in the statement INSERT INTO t_myisam SELECT * FROM
# t_innodb; otherwise, slaves may diverge from the master.
#binlog_direct_non_transactional_updates=TRUE

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/lib/mysql
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/lib/mysql
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M
default-character-set = utf8

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

default-character-set = utf8
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout
LEOnidUKG
На сайте с 25.11.2006
Offline
1724
#1
MySQL оптимально

Оптимально под что?

У вас с ней какие-то проблемы?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
zloj
На сайте с 06.08.2007
Offline
140
#2

Основное это несколько форумов с базами 350, 450, 650 и 1050 мегабайт, в последнее время сервер часто ложится, смотрю запросы - сравнительно "безобидные" выборки (правда из нескольких таблиц) но думается с большим количеством записей висят, статус "сортируется результат"... общий объём всех баз около 3 гигабайт.

LEOnidUKG
На сайте с 25.11.2006
Offline
1724
#3

InnoDB, плох на выборку если что.

zloj
На сайте с 06.08.2007
Offline
140
#4

А по конфигурации можно сделать что то? Кроме преобразования таблиц.

Andreyka
На сайте с 19.02.2005
Offline
822
#5

А ничего. Надо брать тугие запросы и оптимизировать их.

Не стоит плодить сущности без необходимости
LEOnidUKG
На сайте с 25.11.2006
Offline
1724
#6
Andreyka:
А ничего. Надо брать тугие запросы и оптимизировать их.

+ можно сделать какой-нибудь кэш.

Хотя что за проект не известно.

L
На сайте с 13.01.2011
Offline
125
#7

конфиг mysql дефолтный, надо настраивать .

Контакты-icq 535609 ()
M
На сайте с 16.09.2009
Offline
278
#8

Попробуйте начать с каких-то простых "конфигурялок" типа http://mysqltuner.pl

Но если вы даже не понимаете, что для каких-то конкретных рекоммендаций нужна развернутая статистика (от top до собственно данных mysql status/extended-status) - случай "чижолый". Наймите админа.

PS: Вижу слоновьи SATA-диски - может I/O является узким местом?

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
P
На сайте с 16.03.2009
Offline
144
#9

myhand верно пишет.

Прогоните mysqltuner. Основное, что нужно подкрутить, например:


skip-myisam
innodb_buffer_pool_size = 1G
table_open_cache = 4096
innodb_thread_concurrency = 16
max_heap_table_size = 256M
max_connections = 200
T
На сайте с 09.12.2011
Offline
55
tls
#10

Для более удобного дебага запросов и прочего тюнинга можно поставить Percona Server.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий