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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2017-05-26 11:06:12

  Matt_pl - Nowy użytkownik

Matt_pl
Nowy użytkownik
Zarejestrowany: 2017-05-26

Dedyk z apach II - ciężko mu

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 EVENT

Server 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 TOP

Tasks: 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

 

#2  2017-05-26 12:30:57

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Dedyk z apach II - ciężko mu

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.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#3  2017-05-26 12:36:13

  Matt_pl - Nowy użytkownik

Matt_pl
Nowy użytkownik
Zarejestrowany: 2017-05-26

Re: Dedyk z apach II - ciężko mu

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

 

#4  2017-05-28 11:00:47

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Dedyk z apach II - ciężko mu

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 ;)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.013 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00026 SET CHARSET latin2
0.00008 SET NAMES latin2
0.00187 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='3.144.42.196' WHERE u.id=1
0.00368 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.144.42.196', 1714648314)
0.00057 SELECT * FROM punbb_online WHERE logged<1714648014
0.00113 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.00012 SELECT search_for, replace_with FROM punbb_censoring
0.00210 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.00089 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=29610
Total query time: 0.0107 s