URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 5898
[ Назад ]

Исходное сообщение
"mysql стал медленне работать"

Отправлено Semen43 , 28-Июл-08 16:02 
Здраствуйте столкнулся со следующими проблемами, не знаю как решить.
Проблема очень сильно начал грузится mysql, причем какие то изменения в пхп коде не было произведенно, тоесть самы запросы как были так и остались, только начала база данных сильно грузится. Таблицы в mysql находятся в innoDB. В самой таблице таблице кол-во записей 177820, это после чистки, до этого было их за миллион, чистка таблицы проблему не решила.

Помогите пожалуйста решить проблему, скажите что мона попробувать сделать.

Заранее спасибо.


По top наблюдается следующее:
last pid: 63781;  load averages:  7.92,  7.87,  7.70                                                  up 4+21:02:35  14:44:20
92 processes:  13 running, 79 sleeping
CPU states: 45.1% user,  0.0% nice, 39.3% system,  1.0% interrupt, 14.6% idle
Mem: 1876M Active, 5278M Inact, 261M Wired, 73M Cache, 112M Buf, 527M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
58840 mysql        32  97    0  2186M  1638M ucond  1  17.5H 476.32% mysqld
63763 www           1  20    0 25196K 14388K lockf  4   0:07 14.84% httpd
63760 www           1  20    0 25196K 14348K lockf  4   0:10 12.58% httpd
63764 www           1  20    0 24172K 13420K lockf  4   0:06 12.11% httpd
63747 www           1 100    0 34412K 20608K CPU3   3   0:15 11.04% httpd
63751 www           1   4    0 24172K 13428K kqread 4   0:12 10.45% httpd
63756 www           1 100    0 24172K 13524K select 6   0:08 10.35% httpd
63757 www           1  20    0 25196K 14244K lockf  4   0:12 10.11% httpd
63750 www           1  99    0 25196K 14508K CPU4   4   0:13  9.90% httpd
63767 www           1  20    0 24172K 13216K lockf  4   0:03  8.94% httpd
63746 www           1  99    0 39532K 24492K CPU7   5   0:15  7.23% httpd
63765 www           1   4    0 33388K 19660K sbwait 0   0:02  4.21% httpd
63745 www           1  96    0 24172K 13520K select 0   0:11  2.39% httpd
  745 root          1   4    0  3104K   796K -      4   4:47  0.00% nfsd
1045 root          1 102    0 23148K 11212K select 0   1:20  0.00% httpd
62700 www           1  20    0 24172K 13444K lockf  1   0:43  0.00% httpd
63402 www           1  20    0 24172K 13444K lockf  2   0:41  0.00% httpd
62415 www           1   4    0 63084K 42372K sbwait 1   0:33  0.00% httpd
62459 www           1   4    0 39532K 24404K sbwait 3   0:22  0.00% httpd
63509 www           1   4    0 44652K 27948K sbwait 4   0:14  0.00% httpd
62462 www           1   4    0 38508K 23856K sbwait 6   0:14  0.00% httpd
62775 www           1  20    0 24172K 13380K lockf  7   0:12  0.00% httpd
63584 www           1  20    0 25196K 14388K lockf  7   0:11  0.00% httpd
62760 www           1  20    0 24172K 13356K lockf  2   0:10  0.00% httpd
62773 www           1  20    0 25196K 14428K lockf  5   0:08  0.00% httpd
62762 www           1  96    0 51820K 33672K CPU2   4   0:07  0.00% httpd
1069 root          1  96    0  5848K  2612K select 0   0:07  0.00% sendmail
63630 www           1  20    0 24172K 13128K lockf  4   0:05  0.00% httpd
63347 www           1   4    0 44652K 27640K sbwait 0   0:04  0.00% httpd
62782 www           1  20    0 25196K 14368K lockf  4   0:04  0.00% httpd
62766 www           1  20    0 25196K 14356K lockf  4   0:04  0.00% httpd
62793 www           1  20    0 25196K 14348K lockf  3   0:04  0.00% httpd
61817 www           1   4    0 44652K 27832K sbwait 5   0:04  0.00% httpd
  746 root          1   4    0  3104K   796K -      0   0:02  0.00% nfsd
62781 www           1  20    0 24172K 13116K lockf  3   0:02  0.00% httpd
  661 root          1  96    0  3156K  1012K select 0   0:02  0.00% syslogd
1082 root          1   8    0  3184K  1064K nanslp 3   0:01  0.00% cron

Такая проблема начала наблюдатся недавно, до этого все было нормально.
по mysqladmin procceslist видно следующее:
+--------+--------------+-------------------------------+--------------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| Id     | User         | Host                          | db           | Command | Time | State                | Info                                                                                                 |
+--------+--------------+-------------------------------+--------------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| 293266 | root         | localhost:63976               | site2   | Query   | 1    | Copying to tmp table | SELECT DISTINCT FLOOR((site_timerel.time % 1000000) / 100) as seance, site_timerel.comment |
| 296444 | root         | localhost:51525               | site2   | Query   | 0    | Copying to tmp table | SELECT DISTINCT FLOOR((site_timerel.time % 1000000) / 100) as seance, site_timerel.comment |
| 297076 | root         | localhost:51655               | site2   | Query   | 0    | Copying to tmp table | SELECT DISTINCT FLOOR((site_timerel.time % 1000000) / 100) as seance, site_timerel.comment |
| 335924 | root         | localhost:65085               | site2   | Query   | 1    | Copying to tmp table | SELECT DISTINCT FLOOR((site_timerel.time % 1000000) / 100) as seance, site_timerel.comment |
| 399792 | root         | localhost:56571               | site2   | Query   | 0    | Copying to tmp table | SELECT DISTINCT FLOOR((site_timerel.time % 1000000) / 100) as seance, site_timerel.comment |
| 405779 | root         | localhost:60520               | site2   | Query   | 0    | Copying to tmp table | SELECT DISTINCT site_events_ru.id, site_events_ru.name, site_events_ru.url
           |
| 427274 | root         | localhost:64558               | site2   | Query   | 0    | Copying to tmp table | SELECT DISTINCT site_events_ru.id, site_events_ru.name, site_events_ru.url
           |
| 465781 | root         | localhost:63614               | site2   | Query   | 0    | Copying to tmp table | SELECT DISTINCT site_events_ru.id, site_events_ru.name, site_events_ru.url
           |
| 466783 | root         | localhost:53478               | site2   | Query   | 0    | Sending data         | SELECT value FROM site_objectsfieldsvalues_ru WHERE objectId = '2992'
                         |
| 466786 | root         | localhost                     | board        | Query   | 0    | Sending data         | SELECT count(*) as count FROM wzb_details WHERE action='1' and YEAR(date) = '2008' and MONTH(date) = |
| 466791 | root         | localhost                     |              | Query   | 0    |                      | show processlist                                                                                     |
+--------+--------------+-------------------------------+--------------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+

Конфигурационный файл my.cnf
[client]
#password    = [your_password]
port        = 3306
socket        = /tmp/mysql.sock


[mysqld]

# generic configuration options
port        = 3306
socket        = /tmp/mysql.sock


back_log = 50
max_connections = 1000
max_connect_errors = 10
table_cache = 1024
max_allowed_packet = 16M
binlog_cache_size = 1M
max_heap_table_size = 64M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 16
thread_concurrency = 16
query_cache_size = 256M
query_cache_limit = 2M
ft_min_word_len = 4
default_table_type = InnoDB
thread_stack = 192K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 64M
log-bin=mysql-bin
log_slow_queries
long_query_time = 2
log_long_format
server-id = 1

#*** MyISAM Specific options
key_buffer_size = 64M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_max_extra_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover

# *** INNODB Specific options ***
innodb_additional_mem_pool_size = 20M
innodb_buffer_pool_size = 1500M
innodb_data_file_path = ibdata1:1024M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 8M
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 50


[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

# Only allow UPDATEs and DELETEs that use keys.
#safe-updates

[isamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M

[myisamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
open-files-limit = 10000


Содержание

Сообщения в этом обсуждении
"mysql стал медленне работать"
Отправлено angra , 28-Июл-08 23:14 
Ну вам же виднее что именно у вас произошло перед тем как начались проблемы. Может популярность сервера возросла, а может кто-то грохнул индексы по которым запросы делают джойн, вот у вас и создаются постоянно временные таблицы и вообще selectы еле шевелятся.

"mysql стал медленне работать"
Отправлено Semen43 , 29-Июл-08 17:50 
>Ну вам же виднее что именно у вас произошло перед тем как
>начались проблемы. Может популярность сервера возросла, а может кто-то грохнул индексы
>по которым запросы делают джойн, вот у вас и создаются постоянно
>временные таблицы и вообще selectы еле шевелятся.

Да поидее проблема ушла, была одна таблица размером 1,5 Гб я её почистил, буду смотреть скорее всего в этом и была проблема.

Спасибо за внимание


"mysql стал медленне работать"
Отправлено angra , 30-Июл-08 14:31 
Откройте документацию по мускулу и прочтите про индексы и джойны. Быстродействие вашей базы можно улучшить не трогая кода.

"mysql стал медленне работать"
Отправлено Semen43 , 31-Июл-08 12:31 
>Откройте документацию по мускулу и прочтите про индексы и джойны. Быстродействие вашей
>базы можно улучшить не трогая кода.

В базе данных используются индексы, я проверял те что есть, добавил еще индексов, но эфекта нету.


"mysql стал медленне работать"
Отправлено FreeBolik , 31-Июл-08 12:50 
Посмотри експлаин(http://www.mysql.ru/docs/man/EXPLAIN.html) своих запросов(самых более всего выбирающих). Смысл посмотреть пользуються у тя твои вообще индексы и количество результирующих записей. Так же посмотри кеши мускульные: если много записей результирующий(и ты никак не можешь етого избежать), увелить кеш мускульный - меньше винта(подкачки) - больше щастья(оперативы).
А индексы чрез 5-ую точку ставить де попало - ето не решение: больше индексов - меньше скорость изменений(insert,update,replace) таблиц.