Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Na wstępie Witam forumowiczów i przepraszam, że od razu z prośbą o pomoc.
Prośba o wskazówki - programiści zrzucają winę na serwer gdzie według mnie maszyna jest zajeżdżana przez skrypt (głównie zapytania do mysql'a)
serwerownia kylos.pl (Łódź), parametry
Procesor AMD FX8320E 8x3.2Ghz
Ram: 32GB
Operating System: Debian GNU/Linux 8 (jessie)
Kernel: Linux 3.16.0-4-amd64
Aplikacja oparta o framework yii, korzysta i generuje sporo zapytań do mysql'a
PHP-FPM
DirectAdmin 1.51.3
Exim 4.89
MariaDB 10.0.29
Named 9.9.5
dovecot 2.2.29.1
pure-ftpd 1.0.43
Php 5.6.30[/quote]
MPM ustawiony na EVENTServer version: Apache/2.4.25 (Unix)
Server built: Apr 14 2017 14:20:40
Server's Module Magic Number: 20120211:67
Server loaded: APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture: 64-bit
Server MPM: event
threaded: yes (fixed thread count)
forked: yes (variable process count)[/quote]
Konfiguracja httpd - [url=https://pastebin.com/jEFPGKN3]https://pastebin.com/jEFPGKN3[/url]
Zawartość /httpd-mpm.conf - [url=https://pastebin.com/A9BS9KWV]https://pastebin.com/A9BS9KWV[/url]
Polecenie TOPTasks: 224 total, 2 running, 221 sleeping, 1 stopped, 0 zombie
%Cpu(s): 5.2 us, 0.2 sy, 0.0 ni, 93.7 id, 0.8 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem: 32480792 total, 21286544 used, 11194248 free, 249260 buffers
KiB Swap: 6637560 total, 0 used, 6637560 free. 18397804 cached Mem[/quote]PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
794 mysql 20 0 915232 241076 14900 S 52.1 0.7 10458:45 mysqld
26558 szukamp+ 20 0 183444 59140 10892 S 31.9 0.2 0:13.69 php-fpm56
26569 szukamp+ 20 0 171928 47072 10892 S 16.9 0.1 0:12.51 php-fpm56
22622 szukamp+ 20 0 155596 31056 11940 S 3.7 0.1 3:25.86 php-fpm56
25119 szukamp+ 20 0 153260 29736 10892 S 3.7 0.1 1:37.74 php-fpm56
26557 szukamp+ 20 0 152972 29448 10892 S 3.7 0.1 0:13.57 php-fpm56
26575 szukamp+ 20 0 151024 27252 10896 S 3.3 0.1 0:12.71 php-fpm56
16912 apache 20 0 4755460 39924 8768 S 1.0 0.1 0:39.19 httpd
16914 apache 20 0 4754956 26676 8760 S 1.0 0.1 0:23.14 httpd
7 root 20 0 0 0 0 S 0.3 0.0 391:57.95 rcu_sched
152 root 0 -20 0 0 0 S 0.3 0.0 7:41.66 kworker/2:1H
631 message+ 20 0 42124 3416 3028 S 0.3 0.0 2:37.94 dbus-daemon
8276 root 20 0 161048 76168 6136 S 0.3 0.2 0:11.56 /usr/bin/spamd
16917 apache 20 0 4754956 32956 8772 S 0.3 0.1 0:22.36 httpd
16922 apache 20 0 4755440 36472 8912 S 0.3 0.1 0:54.23 httpd
26768 root 20 0 23656 3100 2528 R 0.3 0.0 0:00.08 top[/quote]
Widać obciążenie CPU przez mysql'a na poziomie 52%
Zużycie RAMU
[img]http://www.webhostingtalk.pl/uploads/monthly_05_2017/post-3107-0-24532200-1495575391.png[/img]Offline
Tego mysql-a to jakoś konfigurowałeś czy jedziesz na domyślnych ustawieniach?
Bo z tego co widzę kaszle dysk. Nie jestem absolutnie specem od mysql-a, ale miałem podobnie, po zapuszczeniu mysqltune (czy jak to się nazywa) i zastosowaniu sięvdo jego porad serwer odżył.
O dysku nic nie napisałeś więc wszelkue dywagacje nie mają póki co sensu.
Offline
zwykłe HDD niedługo przeskakujemy na SSD.
Programiści zastosowali się do zaleceń odnośnie optymalizacji zapytań do bazy i tak z 7-8s potrzebnych na wygenerowanie strony po optymalizacji mamy ok 1s
Odnośnie mysqltune zaraz zapuszczę i zobaczę co zaleci.
Wyszło
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
Adjust your join queries to always utilize indexes
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Set thread_cache_size to 4 as a starting value
Variables to adjust:
query_cache_size (>= 8M)
join_buffer_size (> 128.0K, or always use indexes with joins)
tmp_table_size (> 16M)
max_heap_table_size (> 16M)
thread_cache_size (start at 4)
innodb_buffer_pool_size (>= 205M)
Ostatnio edytowany przez Matt_pl (2017-05-26 13:24:36)
Offline
No ale nie pisz co Ci powiedział tylko co z tego zastosowałeś i co wyszło!
Aha, jeśli Pan Programisty używa DISTINCT to na 99.9% nie wie, skąd mu się wziął iloczyn kartezjański ;)
Offline
Time (s) | Query |
---|---|
0.00013 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00137 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.117.158.47' WHERE u.id=1 |
0.00091 | UPDATE punbb_online SET logged=1714633976 WHERE ident='18.117.158.47' |
0.00065 | SELECT * FROM punbb_online WHERE logged<1714633676 |
0.00090 | SELECT topic_id FROM punbb_posts WHERE id=311049 |
0.00114 | SELECT id FROM punbb_posts WHERE topic_id=29610 ORDER BY posted |
0.00103 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=29610 AND t.moved_to IS NULL |
0.00008 | SELECT search_for, replace_with FROM punbb_censoring |
0.00131 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=29610 ORDER BY p.id LIMIT 0,25 |
0.00115 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=29610 |
Total query time: 0.00872 s |