MySQL memory - Help system

:

: 2


Новая версия тут: My.cnf

При создании нового VPS и установки на него различных приложений, ставятся конфиги по умолчанию. Эти конфиги не всегда являются наилучшими для производительности на маломощных VPS и получается, что на просто работу приложений тратится почти все ресурсы мало чего оставляя собственно на выполнение задач, для которых VPS был куплен.


Наиболее ресурсоемким в этом отношении является MySQL, который поставляется с пустым конфиг файлом, что подрузамевает, что используются значения по умолчанию, которые в большинстве своем расчитаны на далеко не слабые выделенные сервера, а не VPS.

Конфиг файл MySQL в большинстве Linux дистрибутивов лежит здесь: /etc/my.cnf

Этого файла вообще может не оказатся в системе, в этом случае его нужно создать. Итак, 2 варианта файла my.cnf для 2 разных типов VPS.

  • Вариант 1. MySQL используется время от времени, на VPS с памятью 128 Мб и меньше и важно, чтобы он тратил ресурсов как можно меньше.
[mysqld]
datadir=/var/lib/mysql
skip-locking
skip-bdb
skip-innodb
skip-networking
safe-show-database
query_cache_limit=64K
query_cache_size=128K
query_cache_type=1
max_user_connections=100
max_connections=200
interactive_timeout=10
wait_timeout=20
connect_timeout=20
thread_cache_size=64
key_buffer = 16K
join_buffer=16K
max_connect_errors=20
max_allowed_packet=1M
table_cache=64
record_buffer=64K
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
thread_concurrency=2
myisam_sort_buffer_size=8M
server-id=1
collation-server=utf8_unicode_ci
default-character-set=utf8

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/lib/mysql/mysql.pid
open_files_limit=8192

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
#safe-updates

[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout

[client]
default-character-set=utf8

  • Вариант 2. Для VPS/Dedicated с 512-1024 Мб памяти:
[mysqld]
datadir=/var/lib/mysql
skip-locking
skip-bdb
skip-innodb
skip-networking
safe-show-database
query_cache_limit=1M
query_cache_size=32M ## 32MB for every 1GB of RAM
query_cache_type=1
max_user_connections=200
max_connections=500
interactive_timeout=10
wait_timeout=20
connect_timeout=20
thread_cache_size=128
key_buffer=128M ## 128MB for every 1GB of RAM
join_buffer=1M
max_connect_errors=20
max_allowed_packet=16M
table_cache=1024
record_buffer=1M
sort_buffer_size=1M ## 1MB for every 1GB of RAM
read_buffer_size=1M ## 1MB for every 1GB of RAM
read_rnd_buffer_size=1M  ## 1MB for every 1GB of RAM
thread_concurrency=4 ## Number of CPUs x 2
myisam_sort_buffer_size=64M
server-id=1
collation-server=utf8_unicode_ci
default-character-set=utf8

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/lib/mysql/mysql.pid
open_files_limit=8192

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
no-auto-rehash
#safe-updates

[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[mysqlhotcopy]
interactive-timeout

[client]
default-character-set=utf8
  • Вариант конфига для Dedicated CentOS 6.2 mysql Ver 14.14 Distrib 5.5.x
[mysqld]
datadir=/var/lib/mysql
skip-networking
query_cache_limit=1M
query_cache_size=32M ## 32MB for every 1GB of RAM
query_cache_type=1
max_user_connections=200
max_connections=500
interactive_timeout=10
wait_timeout=20
connect_timeout=20
thread_cache_size=128
key_buffer=128M ## 128MB for every 1GB of RAM
join_buffer=1M
max_connect_errors=20
max_allowed_packet=16M
table_cache=1024
sort_buffer_size=1M ## 1MB for every 1GB of RAM
read_buffer_size=1M ## 1MB for every 1GB of RAM
read_rnd_buffer_size=1M  ## 1MB for every 1GB of RAM
thread_concurrency=4 ## Number of CPUs x 2
myisam_sort_buffer_size=64M
server-id=1
collation-server=utf8_unicode_ci
character-set-server=utf8  

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
no-auto-rehash
#safe-updates

[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[mysqlhotcopy]
interactive-timeout

[client]
default-character-set=utf8