ОГРОМЕН Проблем с MySQL и php5-cgi

airstand

Member
Здравейте, имам този проблем от доста време. Имам един скрипт който сваля периодично от други сайтове ... и на моменти става следното нещо:

top - 22:06:50 up 24 days, 10:01, 1 user, load average: 11.22, 10.25, 8.46
Tasks: 220 total, 7 running, 212 sleeping, 0 stopped, 1 zombie
Cpu(s): 58.1%us, 17.7%sy, 1.7%ni, 21.3%id, 0.9%wa, 0.1%hi, 0.2%si, 0.0%st
Mem: 1545496k total, 1311204k used, 234292k free, 5204k buffers
Swap: 4522256k total, 213212k used, 4309044k free, 257732k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
24706 mysql 20 0 237m 58m 3056 S 39.4 3.9 746:33.67 mysqld
26957 vu2001 20 0 200m 69m 6256 R 11.8 4.6 0:18.58 php5-cgi
26910 vu2001 20 0 228m 97m 6248 R 7.9 6.4 0:26.56 php5-cgi
26912 vu2001 20 0 228m 97m 6248 R 7.9 6.4 0:26.90 php5-cgi
26929 vu2012 20 0 147m 10m 3744 R 7.9 0.7 0:03.38 php5-cgi
26984 vu2001 20 0 180m 51m 6256 R 7.9 3.4 0:26.04 php5-cgi
26986 vu2001 20 0 142m 13m 6248 S 7.9 0.9 0:25.32 php5-cgi
27018 vu2019 20 0 175m 41m 4008 R 7.9 2.8 0:05.24 php5-cgi
27866 root 20 0 10752 1140 768 R 3.9 0.1 0:00.02 top

Има много случай в които СКЮЕЛА скача на 90% .. и след 2 - 3 минути се успокоява. Прерових няколко форума , пробвах с ограничение на процесите на пхп5-цги .. пробвах с цпулимит и ренайс на майскюела ... но нищо не помага. пхп5-цги-то има пхп.ини файл в който дори съм пробвал да забраня mysqli extension-a
Ще се радвам някой да може да ми даде съвет :)
 
От: ОГРОМЕН Проблем с MySQL и php5-cgi

Какво е СКЮЕЛА, пхп5-цги, цпулимит и ренайс :) ? Освен този скрипт друго ползва ли mysql? Този скрипт какво прави точно, само записи ли? my.cnf пипал ли си или си е по подразбиране? Машината читава ли е? Ако е накоя антика няма какво да очакваш.

След като проблема ти е в mysql, започни от slow query лога. Ако са ти кофти заявките, каквото и да го правиш все ще товари. Пусни го ако не е активиран, настрой го на 1-2 секунди и почвай да оптимизираш заявките, които ще се запишат. Можеш също да наблюдаваш и направо процесите с show processlist или от конзолата:

watch -n1 "mysqladmin -uюзер -pпарола processlist"
 
От: ОГРОМЕН Проблем с MySQL и php5-cgi

Скрипта е RSS Importer за Pligg. Ползва само mysql. MY.CNF не съм барал. Машината е читава. Проблема се получава само при RSS Importer и WP-O-Matic за wordpress.
 
От: ОГРОМЕН Проблем с MySQL и php5-cgi

ето тук е слоу лога - http://highsol.net/mysql.log

трябва ли да променя някои от тези неща в my.cnf

key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 32M
 
От: ОГРОМЕН Проблем с MySQL и php5-cgi

Еми пусни си лога за бавни заявки и виж кое забива: http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

Ако имаш памет достатъчно можеш да си поиграеш и с my.cnf-то. Ето едно добро начало: http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/

Какъв е mysql-a? Аз наскоро си ъпдейтнах до 5.1 (на ubuntu server) и забиваше яко на всеки 10 мин. А със стрария си беше перфектно, така и не открих защо и върнах стария.
 
От: ОГРОМЕН Проблем с MySQL и php5-cgi

Значи започни от тази заявка, много е зле:
# Query_time: 24 Lock_time: 0 Rows_sent: 40 Rows_examined: 404175
SELECT link_id, link_category, link_title, link_title_url, COUNT(tag_link_id) AS relevance, tag_link_id
FROM pligg_tags, pligg_links
WHERE tag_words IN ('collection','girls','rokot','','') AND tag_link_id=link_id AND (link_status='published' OR link_status='queued') AND link_id!=68204
GROUP BY tag_link_id
ORDER BY relevance DESC
LIMIT 40;
Виж има ли индекси в таблицата, ако трябва добави. Пусни я с EXPLAIN (http://dev.mysql.com/doc/refman/5.0/en/using-explain.html) и виж използва ли индексите. Може да се наложи и да се пренапише по друг начин ....
 
От: ОГРОМЕН Проблем с MySQL и php5-cgi

Прилагам още няколко неща


top - 10:19:22 up 24 days, 22:14, 4 users, load average: 7.45, 3.99, 4.16
Tasks: 200 total, 4 running, 196 sleeping, 0 stopped, 0 zombie
Cpu(s): 70.8%us, 28.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 1545496k total, 1079732k used, 465764k free, 12188k buffers
Swap: 4522256k total, 276876k used, 4245380k free, 384920k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10227 mysql 20 0 166m 57m 5092 S 66.4 3.8 2:51.47 mysqld
10653 vu2001 20 0 164m 35m 6256 R 10.6 2.3 0:08.90 php5-cgi
6755 vu2018 20 0 176m 42m 3292 R 10.3 2.8 0:33.49 php5-cgi
11061 vu2001 20 0 143m 14m 6224 S 4.7 1.0 0:04.58 php5-cgi
11073 vu2001 20 0 143m 14m 6244 S 2.7 1.0 0:03.54 php5-cgi
9806 vu2014 20 0 142m 9.8m 3204 S 1.3 0.6 0:02.40 php5-cgi
9808 vu2014 20 0 142m 10m 3592 S 1.3 0.7 0:02.32 php5-cgi
10031 vu2012 20 0 142m 10m 3136 R 0.7 0.7 0:02.04 php5-cgi



top - 10:19:52 up 24 days, 22:14, 4 users, load average: 7.82, 4.39, 4.29
Tasks: 211 total, 4 running, 207 sleeping, 0 stopped, 0 zombie
Cpu(s): 75.4%us, 24.6%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1545496k total, 1106264k used, 439232k free, 12288k buffers
Swap: 4522256k total, 276876k used, 4245380k free, 380220k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10227 mysql 20 0 162m 53m 5092 S 40.6 3.6 3:09.46 mysqld
6755 vu2018 20 0 180m 45m 3292 R 18.0 3.0 0:38.06 php5-cgi
11112 vu2001 20 0 143m 14m 6168 S 15.3 0.9 0:02.44 php5-cgi
11053 vu2001 20 0 141m 12m 6276 S 11.3 0.8 0:06.82 php5-cgi
11072 vu2001 20 0 178m 49m 6256 R 11.3 3.3 0:01.60 php5-cgi
9829 vu2001 20 0 149m 20m 6292 S 2.0 1.4 0:49.70 php5-cgi
11065 www-data 20 0 213m 4216 1724 S 0.7 0.3 0:00.02 apache2
1 root 20 0 10312 544 512 S 0.0 0.0 0:41.49 init



top - 10:20:34 up 24 days, 22:15, 4 users, load average: 6.97, 4.62, 4.37
Tasks: 201 total, 7 running, 194 sleeping, 0 stopped, 0 zombie
Cpu(s): 86.0%us, 13.7%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.3%hi, 0.0%si, 0.0%st
Mem: 1545496k total, 1429072k used, 116424k free, 12392k buffers
Swap: 4522256k total, 272636k used, 4249620k free, 387332k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10227 mysql 20 0 163m 63m 5092 S 39.6 4.2 3:33.51 mysqld
11053 vu2001 20 0 217m 87m 6276 R 14.0 5.8 0:08.00 php5-cgi
11072 vu2001 20 0 247m 118m 6256 R 13.3 7.8 0:03.04 php5-cgi
11113 vu2001 20 0 247m 118m 6244 R 13.3 7.8 0:03.18 php5-cgi
9829 vu2001 20 0 247m 118m 6292 R 13.0 7.8 0:50.88 php5-cgi
11061 vu2001 20 0 164m 34m 6224 R 2.7 2.3 0:06.42 php5-cgi
9802 vu2014 20 0 141m 9480 3604 S 1.3 0.6 0:02.56 php5-cgi
9801 vu2014 20 0 142m 10m 3628 S 0.7 0.7 0:02.56 php5-cgi
11084 www-data 20 0 213m 4196 1688 S 0.7 0.3 0:00.04 apache2
11105 www-data 20 0 213m 3916 1672 S 0.7 0.3 0:00.02 apache2



pumba:/var/log/mysql# tail mysql-slow.log
# Time: 100323 10:22:29
# User@Host: highpligg[highpligg] @ localhost []
# Query_time: 7 Lock_time: 0 Rows_sent: 1 Rows_examined: 73501
SELECT UNIX_TIMESTAMP(max(link_date)) FROM pligg_links LEFT JOIN pligg_groups ON group_id=link_group_id WHERE (ISNULL(group_privacy) OR group_privacy!='private') AND link_status='published' AND link_category IN (SELECT category_ID from pligg_categories where category_id=1 OR category_parent=1 );
# User@Host: highpligg[highpligg] @ localhost []
# Query_time: 10 Lock_time: 3 Rows_sent: 650 Rows_examined: 74151
SELECT * FROM pligg_links LEFT JOIN pligg_groups ON group_id=link_group_id WHERE (ISNULL(group_privacy) OR group_privacy!='private') AND link_status='published' AND link_category IN (SELECT category_ID from pligg_categories where category_id=11 OR category_parent=11 ) ORDER BY link_date DESC LIMIT 5000;
# User@Host: highpligg[highpligg] @ localhost []
# Query_time: 10 Lock_time: 3 Rows_sent: 4686 Rows_examined: 78187
SELECT * FROM pligg_links LEFT JOIN pligg_groups ON group_id=link_group_id WHERE (ISNULL(group_privacy) OR group_privacy!='private') AND link_status='published' AND link_category IN (SELECT category_ID from pligg_categories where category_id=6 OR category_parent=6 ) ORDER BY link_date DESC LIMIT 5000;
pumba:/var/log/mysql#
 

Горе