SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 05.12.2010 21:32:43

1vpsnewbie
Участник
Зарегистрирован: 05.12.2010
Сообщений: 4

Оптимизация MySQL под частые запросы

Здравствуйте. Помогите настроить my.cnf. Параменты ВПС: FreeBSD 8 - 1000Мгц, 384МВ ОЗУ, 768 SWAP.
Специфика - на сервере стоит скрипт, который выводит картинки и очень(!) часто обращается к базе с простыми запросами типа "записать +1 показ картинки и т.п". Нагрузка на базу постоянная, то есть каждую секунду по крайней мере выполняется 3 запроса. Нужно оптимизировать конфиг именно на частые и простые запросы.
Проблема - в последнее время начали жутко долго выполнятся запросы. Помогите настроить правильно. На данный момент конфиг такой:

# Example MySQL config file for small systems.

# The following options will be passed to all MySQL clients
[client]
#password    = your_password
port        = 3306
socket        = /tmp/mysql.sock
skip-locking
interactive_timeout=120
connect_timeout=10
wait_timeout=60
query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 2M
join_buffer_size=1M
key_buffer = 128M
key_buffer_size = 64M
max_allowed_packet = 16M
table_cache=1024
table_open_cache = 4
sort_buffer_size = 8M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
net_buffer_length = 2K
thread_stack = 128K

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port        = 3306
socket        = /tmp/mysql.sock
skip-locking
interactive_timeout=120
connect_timeout=10
wait_timeout=60
query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 2M
join_buffer_size=1M
key_buffer = 128M
key_buffer_size = 64M
max_allowed_packet = 16M
table_cache=1024
table_open_cache = 4
sort_buffer_size = 8M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
net_buffer_length = 2K
thread_stack = 128K

# Disable engines
skip-innodb

# 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

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

# binary logging format - mixed recommended
#binlog_format=mixed

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/db/mysql/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/db/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

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

[myisamchk]


[mysqlhotcopy]

 

Неактивен

 

#2 05.12.2010 22:59:02

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5831

Re: Оптимизация MySQL под частые запросы

Судя по тому, что у вас отключен InnoDB, проблема в блокировках.
Запись в MyISAM блокирует всю таблицу. И частая запись приводит к тому, что другие запросы вынуждены ждать освобождения блокировки. Подробнее см http://sqlinfo.ru/articles/info/10.html

Ну и обсуждать просто конфиг, это то же самое, что и сферических коней. Включайте лог медленных запросов http://dev.mysql.com/doc/refman/5.0/en/ … y-log.html

Неактивен

 

#3 05.12.2010 23:34:37

1vpsnewbie
Участник
Зарегистрирован: 05.12.2010
Сообщений: 4

Re: Оптимизация MySQL под частые запросы

Спасибо за ответ, попробую включить лог, посмотрим

А по поводу конфига, хотелось узнать хотя бы приблизительные настройки под 384МБ ОЗУ

Отредактированно 1vpsnewbie (05.12.2010 23:35:22)

Неактивен

 

#4 05.12.2010 23:58:14

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5831

Re: Оптимизация MySQL под частые запросы

1vpsnewbie написал:

А по поводу конфига, хотелось узнать хотя бы приблизительные настройки под 384МБ ОЗУ

А вы можете указать хотя бы приблизительные параметры судов водоизмещением 380 тонн? wink
Это ведь может быть как прогулочная яхта, так и речная баржа, и т.д.

Неактивен

 

#5 06.12.2010 00:10:18

1vpsnewbie
Участник
Зарегистрирован: 05.12.2010
Сообщений: 4

Re: Оптимизация MySQL под частые запросы

smile

Я о том, что разве конфиг мускула не на прямую зависит от параметров системы? Чем больше ОЗУ - тем больше кеш и т.п.? smile

Неактивен

 

#6 06.12.2010 00:26:15

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5831

Re: Оптимизация MySQL под частые запросы

Осталось лишь определиться - какие кэши увеличивать, но это уже зависит от конкретной ситуации.

По вопросу общих рекомендаций (насколько % от памяти выставлять параметры) см
http://dev.mysql.com/doc/refman/5.1/en/ … ables.html

Неактивен

 

#7 07.12.2010 00:31:15

1vpsnewbie
Участник
Зарегистрирован: 05.12.2010
Сообщений: 4

Re: Оптимизация MySQL под частые запросы

Спасибо Вам за ответы, воспользуюсь данным материалом smile

Неактивен

 

Board footer

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