LINUX.ORG.RU
ФорумAdmin

CPU или HDD ?? что тормозит


0

0

помогите определить каких ресурсов не хватаетмоему серверу
єсть  openSUSE 10.2 (X86-64) ..
на ньом   apache2-2.2.3 php5-5.2.0-   mysql-5.0.26-12

top - 12:58:41 up 178 days, 20:35,  1 user,  load average: 15.02, 12.17, 11.08
Tasks: 186 total,   3 running, 183 sleeping,   0 stopped,   0 zombie
Cpu(s): 50.8%us, 48.3%sy,  0.0%ni,  0.3%id,  0.0%wa,  0.0%hi,  0.7%si,  0.0%st
Mem:  16425160k total, 11900912k used,  4524248k free,   467680k buffers
Swap:  2104472k total,    38184k used,  2066288k free,  8135712k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
19397 mysql     15   0 3704m 1.6g 4692 S  729 10.2  12816:41 mysqld
 2175 wwwrun    15   0  500m  95m  67m S   17  0.6   0:00.94 httpd2-prefork
 2165 wwwrun    15   0  500m  92m  65m R    7  0.6   0:00.81 httpd2-prefork
 2173 wwwrun    15   0  502m  95m  68m S    5  0.6   0:01.05 httpd2-prefork
 2182 wwwrun    15   0  502m  98m  70m S    5  0.6   0:00.82 httpd2-prefork
 2010 wwwrun    15   0  501m  96m  68m S    4  0.6   0:01.37 httpd2-prefork
 2191 wwwrun    15   0  503m  98m  69m S    4  0.6   0:00.99 httpd2-prefork
 2210 wwwrun    15   0  502m  55m  28m S    4  0.3   0:00.14 httpd2-prefork
 2081 wwwrun    15   0  502m 104m  77m S    3  0.7   0:03.14 httpd2-prefork
 2150 wwwrun    15   0  502m 102m  75m S    3  0.6   0:01.48 httpd

# vmstat  1
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
21  0  38184 4531016 467860 8139012    0    0    14   354    0    0 41 23 35  1
26  0  38184 4525580 467872 8139024    0    0   184    40 1058 2259 52 48  0  0
25  0  38184 4523976 467896 8139900    0    0   284   856 1180 2372 52 48  0  0
20  0  38184 4523312 467924 8140352    0    0   504   244 1152 1568 49 51  0  0
23  0  38184 4522828 467952 8141192    0    0   384     0  990 1820 49 51  0  0
21  0  38184 4521032 467952 8141204    0    0     0     0 1366 3436 54 46  0  0
18  0  38184 4521156 467952 8141164    0    0     4     0 1172 2443 53 47  0  0
18  0  38184 4523636 467960 8141188    0    0     0   624  832 2087 51 49  0  0
15  0  38184 4523644 467964 8141280    0    0     0    12  689 1053 50 50  0  0
 7  0  38184 4523652 467972 8141280    0    0     0   228  655 2834 52 47  1  0
 3  0  38184 4518460 467976 8141232    0    0    96     0  804 1551 35 20 45  0
13  0  38184 4534324 467976 8141232    0    0     0     0  678 1403 27 13 61  0 


# cat /proc/meminfo
MemTotal:     16425160 kB
MemFree:       4165056 kB
Buffers:        468984 kB
Cached:        8135684 kB
SwapCached:       9976 kB
Active:        8363708 kB
Inactive:      2524516 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:     16425160 kB
LowFree:       4165056 kB
SwapTotal:     2104472 kB
SwapFree:      2066288 kB
Dirty:           18132 kB
Writeback:           0 kB
AnonPages:     2275352 kB
Mapped:         147844 kB
Slab:          1242488 kB
PageTables:      91660 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:  10317052 kB
Committed_AS:  6458008 kB
VmallocTotal: 34359738367 kB
VmallocUsed:    272780 kB
VmallocChunk: 34359464615 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB

# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz
stepping        : 7
cpu MHz         : 1995.002
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr lahf_lm
bogomips        : 3993.69
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:
...... і т.д.

2 4-ядерних Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz


то что ето mysql - ето точно  .. там много select i update одной таблици .. всегда почти  processlist-е  запроси со статусом Locked ...
Threads: 22  Questions: 91012406  Slow queries: 4967  Opens: 4116  Flush tables: 1  Open tables: 1024  Queries per second avg: 416.645

вопрос чеого НЕ ХВАТАЄТ ??? чтоб знать в какую сторону ити ...
(я понимаю что очень важним есть сама структура сайту, таблиц и т.д., но сейчас не про ето )

к стати как кроме vmstat-у посмотреть нагрузку на хард  ???
если нужни еще какие виводи команд - говорите --- напишу 

> к стати как кроме vmstat-у посмотреть нагрузку на хард ???

iostat

насчет нагрузки на hard, у тебя она совсем маленькая, так как vmstat не показывает много blk in/out. По CPU как раз нагрузку показывает, примерно 50% usr, 50% sys - вот это да, странно.

Тут я думаю скорее надо mysql тюнить, надеюсь вы хоть как-то ему my.cnf стартовый тюнили? (mysql-large, mysql-big)

Нука вывод mysqladmin var/ext вывод в студию, то есть на pastebin куда-нибудь. Ну и заодно ядерный config и вывод dmesg (/var/log/dmesg?) куда-нибудь запули туда же, посмотреть как у тебя ядро собрано, чего там при загрузке.

mator ★★★★★
()
Ответ на: комментарий от vova07

еще  статистики

# iostat  1
Linux 2.6.18.2-34-default (name)     08/22/08        _x86_64_

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          41.15    0.12   22.83    1.23    0.00   34.67

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              35.09        66.66      1013.47 1031042352 15675870920
sdb              26.10       151.56      4423.32 2344302121 68417756296
sdc               2.49        10.26       244.24  158705880 3777821120

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          66.91    0.00   32.96    0.00    0.00    0.12

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.00         0.00         0.00          0          0
sdb               0.00         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          63.22    0.00   36.78    0.00    0.00    0.00

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.00         0.00         0.00          0          0
sdb               0.00         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          64.10    0.00   35.16    0.00    0.00    0.75

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              25.00       288.00       144.00        288        144
sdb              55.00         0.00       560.00          0        560
sdc               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          61.89    0.00   38.11    0.00    0.00    0.00

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               2.97         0.00        55.45          0         56
sdb               0.00         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          60.85    0.00   39.15    0.00    0.00    0.00

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             122.00         0.00      1944.00          0       1944
sdb               0.00         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          67.25    0.00   31.63    0.00    0.00    1.12

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.00         0.00         0.00          0          0
sdb               0.00         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          68.66    0.00   31.22    0.00    0.00    0.12

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.00         0.00         0.00          0          0
sdb               0.00         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          73.23    0.00   26.03    0.00    0.00    0.75

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              10.00       200.00       128.00        200        128
sdb              64.00         0.00       720.00          0        720
sdc               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          62.52    0.00   35.49    0.00    0.00    1.99

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               7.92         0.00       166.34          0        168
sdb               0.00         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0


auction:/home/vova # top
top - 16:55:25 up 179 days, 31 min,  1 user,  load average: 13.25, 9.77, 8.40
Tasks: 169 total,   1 running, 168 sleeping,   0 stopped,   0 zombie
Cpu(s): 41.2%us, 22.5%sy,  0.1%ni, 34.7%id,  1.2%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:  16425160k total, 13267868k used,  3157292k free,   553584k buffers
Swap:  2104472k total,    35436k used,  2069036k free,  9463528k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
19397 mysql     15   0 3704m 1.6g 4700 S  753 10.2  13941:14 mysqld
25852 wwwrun    15   0  500m 112m  86m S   12  0.7   0:02.29 httpd2-prefork
25895 wwwrun    15   0  500m  94m  67m S    8  0.6   0:01.22 httpd2-prefork
25750 wwwrun    16   0  503m 113m  84m S    6  0.7   0:02.93 httpd2-prefork
25845 wwwrun    15   0  503m 109m  80m S    6  0.7   0:01.85 httpd2-prefork
25938 wwwrun    16   0  500m  94m  66m S    4  0.6   0:00.71 httpd2-prefork
25821 wwwrun    15   0  502m 108m  81m S    2  0.7   0:01.66 httpd2-prefork
25848 wwwrun    15   0  502m 110m  83m S    2  0.7   0:02.23 httpd2-prefork
25886 wwwrun    15   0  500m 100m  73m S    2  0.6   0:01.11 httpd2-prefork
25950 root      15   0 16932 1336  904 R    2  0.0   0:00.01 top
    1 root      15   0   804   76   44 S    0  0.0   0:17.25 init
    2 root      RT   0     0    0    0 S    0  0.0   0:05.66 migration/0
    3 root      35  19     0    0    0 S    0  0.0   0:07.83 ksoftirqd/0
    4 root      RT   0     0    0    0 S    0  0.0   0:05.22 migration/1
    5 root      34  19     0    0    0 S    0  0.0   0:03.39 ksoftirqd/1
    6 root      RT   0     0    0    0 S    0  0.0   0:06.34 migration/2
    7 root      34  19     0    0    0 S    0  0.0   0:03.14 ksoftirqd/2
    8 root      RT   0     0    0    0 S    0  0.0   0:05.42 migration/3
    9 root      34  19     0    0    0 S    0  0.0   0:03.66 ksoftirqd/3
   10 root      RT   0     0    0    0 S    0  0.0   0:04.49 migration/4
   11 root      34  19     0    0    0 S    0  0.0   0:02.33 ksoftirqd/4

vova07
() автор топика
Ответ на: комментарий от vova07

быстро пробежался по mysql:

log-bin нужен? если нет - отключить.

table_cache увеличить в 2 раза (пока не более, без фанатизма)

log_slow_queries включить, наряду с тем, что у вас Select_full_join около 5k (много/мало не скажу, у меня 0) , рекомендую начать оптимизировать запросы/структуру базы, но это уже к разработчикам, то есть как минимум отдайте им лог с медленными запросами, ну и индексов бы не помешало в таблицы добавить, которые у вас как раз увеличивают счетчик select_full_join.

в общем нормально mysql работает, не претендую на то, что что-то не упутил.

теперь про ядро, CONFIG_SCHED_SMT=y зло, CONFIG_PREEMPT_VOLUNTARY=y тоже не совсем хорошо, для сервера рекомендовал бы CONFIG_PREEMPT_NONE.

с ядром можно не ковырятся, если например все-таки начать использовать какой-нибудь серверный дистрибутив, тот же SLES например, или RHEL/centos, вместо вашего suse-10.2 если я правильно догадываюсь по версии вашего ядра.

mator ★★★★★
()
Ответ на: комментарий от mator

log-bin - у меня репликация.. если я не ошибаюсь.. он для нее нужен..
насчет других параметров - попробую ..

Да у меня suse-10.2 .. и тогода такой вопрос : если ли РАЗНИЦА меджу ним і каким-нибудь серверним дистрибутивом ??? а то искал и нечеого толкового не нашол !! если можна несклько примеров ..

vova07
() автор топика
Ответ на: комментарий от vova07

> тогода такой вопрос : если ли РАЗНИЦА меджу ним і каким-нибудь серверним дистрибутивом ??? а то искал и нечеого толкового не нашол !! если можна несклько примеров ..

непосредственно сравнивать suse 10.2 с каким-нибудь серверным дистрибутивом конечно никто не станет, хотя касаемо ядра можно взять config от того и того и сравнить, например CONFIG_SMT в RHEL точно нет (то есть not set).

думаю не надо быть семи пядей во лбу, чтобы понять, что все-таки десктопный дистрибутив отличается от серверного. Опять же, именно ядро специально компилируется с конфигом заточенным под серверное железо (много процессоров, памяти, etc...). Я конечно же не гарантирую того, что если вы поставите RHEL или SLES, то сразу сервер заработает по другому, то есть лучше. В общем незнаю пока почему %sys ~50 , надо еще думать :)

anonymous
()
Ответ на: комментарий от cyclope

Поддерживаю анонимуса.

Попробуй поставить серверную ОСь. Могу сказать тебе точно, что десктопное ядро отличается по параметрам от серверного.

Удачи.

amfibrahii
()
Ответ на: комментарий от alexsaa

>а там не PIO случайно?

поубивались чтоли все. по iostat - к дискам обращений почти нет, поэтому копать настройки памяти в mysql, шедулер вообще бессмысленно, заменять на другой дистрибутив тоже. что происходит: процесс mysql грузит процессор на 729% при этом sys - 50%, что это значит? 50% ресурсов ушло на синхронизацию тредов mysql. как в этом убедиться? натравить oprofile или хотябы strace -c и посмотреть какие сисколы идут в mysql, после этого покурить мануалы по mysql

borisych ★★★★★
()
Ответ на: комментарий от anonymous2

интересно .. а что там может бить коряво ???
сначала идут часто используваемие . а потом остальние ..
есть несколько limit для ssh , ftp
а что же может бить корявим ??? ечли можна напишите нюанси вожможние ?

vova07
() автор топика
Ответ на: комментарий от borisych

борисыч, я и сам думал что проблема завязана на треды Mysql, но так как возможности "их курить" по-моему в mysql нет, то чего крутить-то? Опять же 50% в ядре может быть и не из-за mysql, хотя нагрузка показана именно на него, а например как указал другой человек, от того же iptables, но это на вскидку, я не говорю что это именно так.

я бы конечно дал рекомендацию поставить более мощьный процессор, но вроде и этот не такой слабый. а курить Mysql я уже говорил, но не его треды, как они в mysql тюнятся, я не скажу, тут опять же надо нагрузку на базу разгружать, только пересматривая запросы на базу.

anonymous
()
Ответ на: комментарий от anonymous

ну разобраться из-за чего это происходит довольно не сложно: посмотреть сисколы, посмотреть в сорсах откуда они идут, выяснить причину, возможно обновить mysql. вообще больше всего информации о том как работает mysql у BSDшников, например http://people.freebsd.org/~kris/scaling/mysql.html, про линукс как-то не особо пишут.

borisych ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.