SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 17.08.2011 11:23:03

rez0n
Участник
Зарегистрирован: 17.08.2011
Сообщений: 5

Большое кол-во процессов (а так же swap)

Доброго дня, форумчане.

Возник вопрос по поводу использования swap'a сервером mysqld. Хорошо ли это?
Спустя 4 дня uptime, потихоньку начал забиватся swap, не критично, но все же.

Так же интересует почему в top'е - не одна, а много строк относительно mysqld. Почему так?

http://s47.radikal.ru/i117/1108/16/2f2befb36f44t.jpg

Неактивен

 

#2 25.08.2011 01:27:45

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Большое кол-во процессов (а так же swap)

Своп в этом месте — плохо, конечно. MySQL рассчитывает на то, что память
работает быстрее диска. Если память работает со скоростью диска, то все
планы выполнения запросов можно выбросить на помойку. Уменьшение коли-
чества занимаемой MySQL памяти в данном случае должно увеличить произ-
водительность smile

Это не честный top. В обычном top — одна, а тут Вы видите потоки.

Неактивен

 

#3 25.08.2011 10:38:53

rez0n
Участник
Зарегистрирован: 17.08.2011
Сообщений: 5

Re: Большое кол-во процессов (а так же swap)

Сейчас уже 12й день аптайма и ситуация немного изменилась.

RAM - 700\1009MB
SWAP - 547\2000MB

Подскажите что делать в этом случае, что и в какую сторону крутить?

my.cnf написал:

[root@hawk ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# To allow mysqld to connect to a MySQL Cluster management daemon, uncomment
# these lines and adjust the connectstring as needed.
#ndbcluster
#ndb-connectstring="nodeid=4;host=localhost:1186"

back_log = 50
max_connections = 100
max_connect_errors = 10
table_open_cache = 2048
max_allowed_packet = 16M
#binlog_cache_size = 1M
max_heap_table_size = 64M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 8
thread_concurrency = 16
query_cache_size = 64M
query_cache_limit = 2M
ft_min_word_len = 4
default-storage-engine = INNODB
thread_stack = 192K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 64M
slow_query_log
long_query_time = 2
server-id = 1
key_buffer_size = 32M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 2G
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_write_io_threads = 8
#innodb_read_io_threads = 8
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 16M
innodb_log_files_in_group = 5
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[ndbd]
# If you are running a MySQL Cluster storage daemon (ndbd) on this machine,
# adjust its connection to the management daemon here.
# Note: ndbd init script requires this to include nodeid!
connect-string="nodeid=2;host=localhost:1186"

[ndb_mgm]
# connection string for MySQL Cluster management tool
connect-string="host=localhost:1186"
[root@hawk ~]#

Неактивен

 

#4 25.08.2011 15:12:04

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Большое кол-во процессов (а так же swap)

innodb_buffer_pool_size = 2G

При гигабайте ОЗУ на машинке — это круто wink

Неактивен

 

#5 25.08.2011 16:05:36

rez0n
Участник
Зарегистрирован: 17.08.2011
Сообщений: 5

Re: Большое кол-во процессов (а так же swap)

Упс smile

Лимит выставлен в уровень с физически имеющейся оперативкой, как быть дальше?
Что нужно крутить чтобы в памяти держалась актуальная информация а не попросту забивалась отработаными кешированными данными?

Неактивен

 

#6 25.08.2011 16:44:38

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Большое кол-во процессов (а так же swap)

Какая информация считается актуальной? Как Вы хотите ее отличать?

Неактивен

 

#7 25.08.2011 17:28:10

rez0n
Участник
Зарегистрирован: 17.08.2011
Сообщений: 5

Re: Большое кол-во процессов (а так же swap)

Затрудняюсь ответить.

Вот сервер работает и память забивается кешем, через время (в виду небольшого обьема памяти) - её т.е. памяти не останется вовсе (допустим лимит памяти в конфиге стоит впритык 1G).
Сервер полезет в своп или будет очищать неактуальный кеш?

Неактивен

 

#8 25.08.2011 20:28:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Большое кол-во процессов (а так же swap)

Не будет. Сервер крутится сам в том объеме оперативной памяти, который
Вы указываете. На выделенном под базу сервере не имеет смысл ставить
параметр innodb_buffer_pool_size больше 60-70% ОЗУ. Если сервер выпол-
няет еще какие-то задачи — надо еще уменьшать этот параметр.

Неактивен

 

#9 26.08.2011 12:11:58

rez0n
Участник
Зарегистрирован: 17.08.2011
Сообщений: 5

Re: Большое кол-во процессов (а так же swap)

Спасибо вам.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson