Запрос к Mysql, который все тормозит

1 234
М
На сайте с 08.02.2006
Offline
59
#31

DrumBass, Скиньте сюда секцию [mysqld] из my.cnf

DB
На сайте с 30.03.2008
Offline
46
#32

Настроил по совету Soulwest и вроде как уже пол часа ни одной задержки в логе, но визуально задержки в браузере есть, хоть и меньше. в Mytop во время задержки выводится запрос у которого в поле time стоит "sleep" - что это значит?

mysqltuner.pl выдал:

Variables to adjust:

key_buffer_size (> 12.5M)

query_cache_size (>= 8M)

tmp_table_size (> 32M)

max_heap_table_size (> 16M)

thread_cache_size (start at 4)

table_cache (> 4)

Магнат:
DrumBass, Скиньте сюда секцию [mysqld] из my.cnf


[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
#log_slow_queries = /var/log/mysql-slow.log
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
myisam-recover = BACKUP
key_buffer_size = 13M
tmp_table_size = 32M
#max_connections = 100
table_cache = 64
#thread_concurrency = 10
thread_cache_size = 4
max_heap_table_size = 16M
#
# * Query Cache Configuration
#
# query_cache_limit = 8M
query_cache_size = 8M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
#log = /var/log/mysql/mysql.log
#
# Error logging goes to syslog. This is a Debian improvement :)
#
# Here you can see queries with especially long duration
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1
#log-queries-not-using-indexes

#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
N
На сайте с 06.05.2007
Offline
419
#33

шапку от вывода mysqltuner показал бы

помимо советов он подсчитывает разные характеристики, что небесполезно знать.

key_buffer_size (> 12.5M) - отдай сколько не жалко. ну хотя бы 50% размера индексов (из шапки отчета)

query_cache_size (>= 8M) - не переусердствуй тут. 32 мб уже много.

tmp_table_size (> 32M) - дальше нет смысла увеличивать

max_heap_table_size (> 16M) - имеет смысл сделать равным предыдущему значению

thread_cache_size (start at 4) - ну сделай как советует.

table_cache (> 4) - зависит от данных в шапке отчета. хотя бы по числу основных таблиц.

опять же, не жди чуда от этих манипуляций.

Кнопка вызова админа ()
DB
На сайте с 30.03.2008
Offline
46
#34
netwind:
шапку от вывода mysqltuner показал бы

-------- General Statistics --------------------------------------------------

[--] Skipped version check for MySQLTuner script

[OK] Currently running supported MySQL version 5.0.51a-24+lenny4-log

[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------

[--] Status: +Archive -BDB +Federated -InnoDB -ISAM -NDBCluster

[--] Data in MyISAM tables: 21M (Tables: 160)

[--] Data in MEMORY tables: 248K (Tables: 3)

[!!] Total fragmented tables: 1

-------- Security Recommendations -------------------------------------------

ERROR 1142 (42000) at line 1: SELECT command denied to user '@'localhost' for table 'user'

[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------

[--] Up for: 26m 38s (17K q [10.987 qps], 1K conn, TX: 80M, RX: 1M)

[--] Reads / Writes: 91% / 9%

[--] Total buffers: 47.0M global + 824.0K per thread (100 max threads)

[OK] Maximum possible memory usage: 127.5M (21% of installed RAM)

[OK] Slow queries: 0% (4/17K)

[OK] Highest usage of available connections: 5% (5/100)

[OK] Key buffer size / total MyISAM indexes: 13.0M/12.6M

[OK] Key buffer hit rate: 98.4% (34K cached / 552 reads)

[OK] Query cache efficiency: 79.5% (11K cached / 14K selects)

[OK] Query cache prunes per day: 0

[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 293 sorts)

[!!] Temporary tables created on disk: 43% (238 on disk / 542 total)

[OK] Thread cache hit rate: 99% (5 created / 1K connections)

[!!] Table cache hit rate: 3% (64 open / 1K opened)

[OK] Open file limit used: 11% (121/1K)

[OK] Table locks acquired immediately: 100% (3K immediate / 3K locks)

-------- Recommendations -----------------------------------------------------

General recommendations:

Run OPTIMIZE TABLE to defragment tables for better performance

MySQL started within last 24 hours - recommendations may be inaccurate

When making adjustments, make tmp_table_size/max_heap_table_size equal

Reduce your SELECT DISTINCT queries without LIMIT clauses

Increase table_cache gradually to avoid file descriptor limits

Variables to adjust:

tmp_table_size (> 32M)

max_heap_table_size (> 16M)

table_cache (> 64)

N
На сайте с 06.05.2007
Offline
419
#35
DrumBass:
[--] Data in MyISAM tables: 21M (Tables: 160)

ерунда какая.

DB
На сайте с 30.03.2008
Offline
46
#36
netwind:

опять же, не жди чуда от этих манипуляций.

в общем эффект не особо заметен, походу надо ждать пока хостер сменит жестяк.

кстати, tmpfs сказали недоступна на OpenVZ, хотя оперативка выделилась.

1 234

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