Страница 1 из 1
Большие проблемы с производительностью
Добавлено: 2012-12-17 8:17:42
shoman
Имеется веб-сервер Nginx + Apache + PHP + Mysql на FreeBSD 8.2-RELEASE.
Вот что говорит менеджер сайта: несколько минут админка (сайта) подтупляет, потом 1-2 минуты нормально работает, потом висит.
Почти всегда сервак работает нормально, но иногда его переклинивает. Например сегодня даже запрос в SSH долго отображался. Долго копался в инфе по top, ps, iostat, vmstat. Последний выдаёт непонятную для меня картинку:
Код: Выделить всё
vmstat 2 30
procs memory page disks faults cpu
r b w avm fre flt re pi po fr sr mf0 mf1 in sy cs us sy id
1 0 0 3601M 8974M 2608 0 0 0 2042 0 104 0 452 21870 2705 1 1 98
0 0 0 3577M 8983M 15118 0 0 0 17113 0 313 1 965 124054 6946 8 4 88
0 0 0 3561M 8983M 10165 0 0 0 11235 0 356 0 1064 98991 7191 3 4 93
0 0 0 3577M 9017M 10150 0 1 0 16309 0 803 0 1235 121700 12385 8 9 83
3 0 0 3609M 9001M 1000 0 0 0 4 0 855 0 1073 77680 11466 4 7 90
2 0 0 3589M 8999M 2627 0 0 0 4026 0 3230 0 1688 111496 17992 5 10 85
4 0 0 3615M 8986M 4337 0 0 0 4285 0 309 0 871 45022 5791 2 4 95
3 0 0 3719M 8922M 32269 0 0 0 24966 0 350 0 1085 176880 7966 15 6 79
1 0 0 3561M 8990M 12382 0 0 0 23205 0 531 411 1073 53663 8747 4 4 92
0 0 0 3563M 8989M 2249 0 1 0 3354 0 603 104 856 64511 9404 3 6 91
1 0 0 3563M 8984M 0 0 0 0 4 0 775 1 1649 61894 10458 3 5 92
0 0 0 3563M 8983M 9392 0 0 0 10676 0 1233 0 1993 128972 11909 5 8 87
0 0 0 3563M 8990M 12494 0 0 0 15850 0 1248 4 1753 140417 10934 5 8 87
0 0 0 3586M 8978M 3891 0 0 1 2527 0 2105 0 564 39706 3419 2 2 96
0 0 0 3547M 8992M 69 0 0 0 1799 0 76 0 101 210 751 0 0 100
0 0 0 3579M 8989M 995 0 2 0 650 0 96 0 127 2634 874 0 0 100
0 0 0 3568M 8990M 0 0 0 0 101 0 101 0 102 146 778 0 0 100
0 0 0 3568M 8990M 1 0 0 0 0 0 49 0 67 159 603 0 0 100
0 0 0 3568M 8990M 0 0 0 0 0 0 50 0 67 74 628 0 0 100
0 0 0 3568M 8990M 0 0 0 0 0 0 88 0 102 73 720 0 0 100
0 0 0 3568M 8989M 6 0 0 0 0 0 80 0 81 83 1398 0 0 100
0 0 0 3575M 8988M 137 0 0 0 0 0 59 0 60 112 584 0 0 100
0 0 0 3575M 8988M 0 0 0 0 0 0 47 0 90 66 667 0 0 100
0 0 0 3575M 8988M 0 0 0 0 0 0 57 0 65 87 603 0 0 100
0 0 0 3575M 8988M 0 0 0 0 0 0 79 0 81 73 702 0 0 100
0 0 0 3575M 8988M 0 0 0 0 0 0 80 0 98 89 700 0 0 100
0 0 0 3575M 8988M 6 0 0 0 0 0 46 0 66 75 621 0 0 100
0 0 0 3583M 8987M 117 0 0 0 0 0 48 0 63 127 589 0 0 100
0 0 0 3583M 8987M 0 0 0 0 0 0 60 0 68 74 663 0 0 100
0 0 0 3583M 8987M 1 0 0 0 0 0 90 0 91 76 702 0 0 100
0 0 0 3583M 8987M 0 0 0 0 0 0 71 0 79 73 688 0 0 100
0 0 0 3583M 8987M 0 0 0 0 0 0 65 0 73 73 610 0 0 100
0 0 0 3583M 8987M 6 0 0 0 0 0 61 0 70 125 651 0 0 100
Т.е. некоторое время видна определённая нагрузка на диск, процессор чем-то занят. А потом с диском почти никаких операций не производится, процессор простаивает (если я правильно интерпретировал выдачу vmstat). В тот момент, когда в последнем столбце начинают появляться 100%, сервер встаёт колом (даже в консоли трудно работать), только пинги стабильные
Спасибо за любые пинки в нужную сторону.
Re: Большие проблемы с производительностью
Добавлено: 2012-12-17 14:39:46
skeletor
Дискам плохо, это видно даже без gstat
Re: Большие проблемы с производительностью
Добавлено: 2012-12-18 0:39:55
shoman
спасибо за ответ. Попробую покурить gstat.
Кстати пару месяцев назад на этом сервере наблюдалась такая проблема: при жёсткой перезагрузке сервак сам не запускался (сервер арендовали у Hetzner), проходилось через удалённый терминал выполнять проверку дисков вручную.
Re: Большие проблемы с производительностью
Добавлено: 2012-12-18 1:49:38
shoman
А какие ещё программы можно попробовать для диагностики проблем с диском на FreeBDS?
Re: Большие проблемы с производительностью
Добавлено: 2012-12-18 10:58:50
Charlz_Klug_
shoman писал(а):А какие ещё программы можно попробовать для диагностики проблем с диском на FreeBDS?
Код: Выделить всё
[Charlz_Klug@Meleena]/usr/ports>$ make search name=smartmontools
Port: smartmontools-6.0
Path: /usr/ports/sysutils/smartmontools
Info: S.M.A.R.T. disk monitoring tools
Maint: samm@os2.kiev.ua
B-deps: gettext-0.18.1.1 gmake-3.82_1 libiconv-1.14
R-deps:
WWW: http://smartmontools.sourceforge.net
Port: sysutils/smartmontools-devel
Moved: sysutils/smartmontools
Date: 2010-02-10
Reason: Removed, use sysutils/smartmontools instead
[Charlz_Klug@Meleena]/usr/ports>$
Re: Большие проблемы с производительностью
Добавлено: 2012-12-18 14:42:47
Miguel
Re: Большие проблемы с производительностью
Добавлено: 2012-12-18 20:47:43
shoman
премного благодарствую!
Re: Большие проблемы с производительностью
Добавлено: 2012-12-19 2:45:24
shoman
Полагаю dd_rescue сильно нагрузит диск, и лучше выполнить эту процедуру ночью на выходных (выключить веб-сервер и остановить все сайты на несколько часов?) Или я ошибаюсь и dd_rescue можно запускать без опасений в час-пик?
Re: Большие проблемы с производительностью
Добавлено: 2012-12-19 8:34:42
Miguel
наверное, лучше перестраховаться. а по поводу нагрузки на диски - это вряд ли. dd_rescue, так я понимаю, тупо поблочно читает с диска и в null это все))). ну таймауты считает еще. то есть у него задача не стресс тест провести.
Re: Большие проблемы с производительностью
Добавлено: 2013-03-10 3:31:00
shoman
Попробовал dd_rescue. Ничего особо не обнаружил.
Код: Выделить всё
nohup dd_rescue -v -l /var/log/dd_rescue/error.log -o /var/log/dd_rescue/bad.log /dev/mfid1s1d /dev/null &
dd_rescue: (info): Using softbs=65536, hardbs=4096
dd_rescue: (info): about to transfer 0.0 kBytes from /dev/mfid1s1d to /dev/null
dd_rescue: (info): blocksizes: soft 65536, hard 4096
dd_rescue: (info): starting positions: in 0.0k, out 0.0k
dd_rescue: (info): Logfile: /var/log/dd_rescue/error.log, Maxerr: 0
dd_rescue: (info): Reverse: no , Trunc: no , interactive: no
dd_rescue: (info): abort on Write errs: no , spArse write: never
dd_rescue: (info): preserve: no , splice: no , avoidWrite: no
dd_rescue: (info): fallocate: no , Repeat: no , O_DIRECT: no /no
dd_rescue: (info): about to transfer 0.0 kBytes from /dev/mfid1s1d to /dev/null
dd_rescue: (info): about to transfer 0.0 kBytes from /dev/mfid1s1d to /dev/null
dd_rescue: (info): blocksizes: soft 65536, hard 4096
dd_rescue: (info): blocksizes: soft 65536, hard 4096
dd_rescue: (info): starting positions: in 0.0k, out 0.0k
dd_rescue: (info): starting positions: in 0.0k, out 0.0k
dd_rescue: (info): Logfile: /var/log/dd_rescue/error.log, Maxerr: 0
dd_rescue: (info): Logfile: /var/log/dd_rescue/error.log, Maxerr: 0
dd_rescue: (info): Reverse: no , Trunc: no , interactive: no
dd_rescue: (info): Reverse: no , Trunc: no , interactive: no
dd_rescue: (info): abort on Write errs: no , spArse write: never
dd_rescue: (info): abort on Write errs: no , spArse write: never
dd_rescue: (info): preserve: no , splice: no , avoidWrite: no
dd_rescue: (info): preserve: no , splice: no , avoidWrite: no
dd_rescue: (info): fallocate: no , Repeat: no , O_DIRECT: no /no
dd_rescue: (info): fallocate: no , Repeat: no , O_DIRECT: no /no
dd_rescue: (info): ipos: 292415040.0k, opos: 292415040.0k, xferd: 292415040.0k
errs: 0, errxfer: 0.0k, succxfer: 292415040.0k
+curr.rate: 123288kB/s, avg.rate: 144719kB/s, avg.load: 4.3%
dd_rescue: (fatal): /dev/mfid1s1d (292415040.0k): Device not configured!
dd_rescue: Last error fatal! Exiting ...
nohup dd_rescue -v -l /var/log/dd_rescue/error.log -o /var/log/dd_rescue/bad.log /dev/mfid0p3 /dev/null &
dd_rescue: (info): Using softbs=65536, hardbs=4096
dd_rescue: (info): about to transfer 0.0 kBytes from /dev/mfid0p3 to /dev/null
dd_rescue: (info): blocksizes: soft 65536, hard 4096
dd_rescue: (info): starting positions: in 0.0k, out 0.0k
dd_rescue: (info): Logfile: /var/log/dd_rescue/error.log, Maxerr: 0
dd_rescue: (info): Reverse: no , Trunc: no , interactive: no
dd_rescue: (info): abort on Write errs: no , spArse write: never
dd_rescue: (info): preserve: no , splice: no , avoidWrite: no
dd_rescue: (info): fallocate: no , Repeat: no , O_DIRECT: no /no
dd_rescue: (info): about to transfer 0.0 kBytes from /dev/mfid0p3 to /dev/null
dd_rescue: (info): about to transfer 0.0 kBytes from /dev/mfid0p3 to /dev/null
dd_rescue: (info): blocksizes: soft 65536, hard 4096
dd_rescue: (info): blocksizes: soft 65536, hard 4096
dd_rescue: (info): starting positions: in 0.0k, out 0.0k
dd_rescue: (info): starting positions: in 0.0k, out 0.0k
dd_rescue: (info): Logfile: /var/log/dd_rescue/error.log, Maxerr: 0
dd_rescue: (info): Logfile: /var/log/dd_rescue/error.log, Maxerr: 0
dd_rescue: (info): Reverse: no , Trunc: no , interactive: no
dd_rescue: (info): Reverse: no , Trunc: no , interactive: no
dd_rescue: (info): abort on Write errs: no , spArse write: never
dd_rescue: (info): abort on Write errs: no , spArse write: never
dd_rescue: (info): preserve: no , splice: no , avoidWrite: no
dd_rescue: (info): preserve: no , splice: no , avoidWrite: no
dd_rescue: (info): fallocate: no , Repeat: no , O_DIRECT: no /no
dd_rescue: (info): fallocate: no , Repeat: no , O_DIRECT: no /no
dd_rescue: (info): ipos:2921331712.0k, opos:2921331712.0k, xferd:2921331712.0k
errs: 0, errxfer: 0.0k, succxfer:2921331712.0k
+curr.rate: 88695kB/s, avg.rate: 148820kB/s, avg.load: 4.1%
dd_rescue: (fatal): /dev/mfid0p3 (2921331712.0k): Device not configured!
dd_rescue: Last error fatal! Exiting ...
Сейчас пробую поставить smartmontools
Re: Большие проблемы с производительностью
Добавлено: 2013-03-10 3:32:00
shoman
dd_rescue нормально отработал на работающем сервере, не пришлось останавливать веб-сервер
Re: Большие проблемы с производительностью
Добавлено: 2013-03-10 3:44:00
shoman
Посмотрим что выдаёт top
Код: Выделить всё
top -m io -o total
PID USERNAME VCSW IVCSW READ WRITE FAULT TOTAL PERCENT COMMAND
1083 mysql 8835080 175254 596916 357611 147 954674 4.86% mysqld
1199 root 40763 551 5841 25356 0 31197 0.16% sendmail
65182 root 29555 596 1567 24712 0 26279 0.13% sendmail
73760 root 31284 312 4659 20202 0 24861 0.13% sendmail
48404 root 30818 425 4333 20388 0 24721 0.13% sendmail
49419 root 27633 1020 173 24034 0 24207 0.12% sendmail
79929 root 26163 672 479 22989 0 23468 0.12% sendmail
55284 root 26891 1056 4696 18758 0 23454 0.12% sendmail
27619 root 30365 368 2556 20878 0 23434 0.12% sendmail
59808 root 28277 397 3417 19452 0 22869 0.12% sendmail
10310 root 26229 1388 4521 18137 0 22658 0.12% sendmail
23554 root 28458 399 2574 19776 0 22350 0.11% sendmail
36195 root 28382 449 2140 20121 0 22261 0.11% sendmail
61559 root 27364 312 3690 18530 0 22220 0.11% sendmail
34386 root 24605 1151 704 21215 0 21919 0.11% sendmail
87180 root 24756 889 2463 19156 0 21619 0.11% sendmail
18852 root 23496 850 340 20430 0 20770 0.11% sendmail
71667 root 24720 526 2472 17612 0 20084 0.10% sendmail
3121 root 22597 860 36 19642 0 19678 0.10% sendmail
96612 root 22893 697 1490 17504 0 18994 0.10% sendmail
83601 root 21970 1071 850 16930 0 17780 0.09% sendmail
96545 root 18726 605 176 16409 0 16585 0.08% sendmail
27299 root 16806 15 4433 10829 0 15262 0.08% sendmail
12505 root 16403 134 485 13904 0 14389 0.07% sendmail
59696 www 420393 3686 13258 244 0 13502 0.07% nginx
45120 root 5770 1 634 4961 0 5595 0.03% sendmail
13198 root 63803 3082 696 14 155 865 0.00% ispmgr
676 bind 133486 1551 641 0 45 686 0.00% named
1210 root 2146 19 356 0 0 356 0.00% cron
1161 root 40364 300 141 0 100 241 0.00% httpd
664 root 136604 727 9 180 0 189 0.00% syslogd
1084 root 20515 400 20 0 0 20 0.00% perl5.10.1
820 root 2873 85 13 0 0 13 0.00% proftpd
83653 forest 15608 361 12 0 0 12 0.00% httpd
32043 root 33 0 11 0 0 11 0.00% sshd
и вот ещё:
Код: Выделить всё
%ls -l /var/spool/mqueue/ | grep ^- | wc -l
12308
Re: Большие проблемы с производительностью
Добавлено: 2013-03-10 9:21:16
res251
12308
ради шутки, в линуксе баг 12309, а в фри 12308 )))))
Re: Большие проблемы с производительностью
Добавлено: 2013-11-15 5:56:33
shoman
В итоге проблем с диском выявлено не было. Нашли несколько троянов, которые отправляли много почты вычистили их. Проблем больше не наблюдалось
Re: Большие проблемы с производительностью
Добавлено: 2013-11-15 23:37:49
BlitzKrieg
skeletor писал(а):Дискам плохо, это видно даже без gstat
Прокомментируйте, пожалуйста.
Re: Большие проблемы с производительностью
Добавлено: 2013-11-18 14:25:11
skeletor
Диску плохо - это не значит, что он умирает, а то, что он сейчас загружен хорошо (много операций). Хотя тут может быть ньюанс: mf0 - это скорее всего какой-то рейд и для него 2000-3000 операций за 2 секунды может быть как много, так и рабочей нагрузкой. Но малой нагрузкой на диск это точно назвать нельзя.
Re: Большие проблемы с производительностью
Добавлено: 2013-11-19 8:27:45
BlitzKrieg
skeletor писал(а):Диску плохо - это не значит, что он умирает, а то, что он сейчас загружен хорошо (много операций). Хотя тут может быть ньюанс: mf0 - это скорее всего какой-то рейд и для него 2000-3000 операций за 2 секунды может быть как много, так и рабочей нагрузкой. Но малой нагрузкой на диск это точно назвать нельзя.
Топикстартер не озвучил конфигурацию.
Вот, пожалуйста, на сервере с весьма средненькой конфигурацией. Диску плохо?
Код: Выделить всё
procs memory page disks faults cpu
r b w avm fre flt re pi po fr sr md0 da0 in sy cs us sy id
0 0 0 2304M 492M 223 0 0 0 102 1 0 12922 67 1089 712 1 1 99
0 0 0 2304M 492M 2 0 0 0 0 0 1 14814 15135 30896 151591 1 23 77
0 0 0 2304M 503M 1074 0 0 0 1650 0 0 14785 15160 32632 151597 2 23 75
0 0 0 2304M 503M 1 0 0 0 50 0 5 14929 15291 31868 153057 1 23 77
При этом работать в консоили можно без каких либо проблем.
Re: Большие проблемы с производительностью
Добавлено: 2013-11-19 12:15:38
skeletor
В общем случае вы правы - всё зависит от конфигурации (дисков, контроллера).
Вот пример одного из моих серверов
Код: Выделить всё
procs memory page disks faults cpu
r b w avm fre flt re pi po fr sr da0 pa0 in sy cs us sy id
3 0 0 1191M 99M 566 0 0 0 537 8 0 0 866 926 865 28 3 69
1 0 0 1191M 99M 7 0 0 0 6 0 10 0 1004 3651 2763 3 2 95
2 0 0 1191M 99M 10 0 0 0 14 0 164 0 1201 6212 3571 5 4 90
11 0 0 1208M 78M 2726 0 0 0 233 0 64 0 447 17219 2269 86 6 8
2 0 0 1210M 92M 1049 0 0 0 2828 0 6 0 1293 19892 4771 90 10 0
3 0 0 1215M 91M 282 0 0 0 173 0 68 0 950 25982 4419 88 10 1
9 0 0 1227M 89M 999 0 0 0 755 0 64 0 714 31456 3714 87 7 6
3 0 0 1213M 97M 8 0 0 0 1091 0 14 0 1114 11509 3266 21 7 71
5 0 0 1213M 97M 5 0 0 0 10 0 151 0 907 5348 2916 4 5 91
2 0 0 1209M 97M 240 0 0 0 268 0 80 0 1111 5202 3276 3 2 94
1 0 0 1199M 98M 471 0 0 0 537 0 6 0 471 3053 1570 2 2 96
при этом gstat показывает для диска нагрузку в 30-40%.
Контролллер 3ware 9000, RAID5 из 4-ох дисков HDS724040KLSA80 (
http://www.newegg.com/Product/Product.a ... 6822145067)
Re: Большие проблемы с производительностью
Добавлено: 2013-11-19 12:48:57
BlitzKrieg
При этом вы получаете ситуацию, описываемую топикстартером или нет?
Re: Большие проблемы с производительностью
Добавлено: 2013-11-19 13:35:06
skeletor
Сервер колом не встаёт.
Re: Большие проблемы с производительностью
Добавлено: 2013-11-19 13:37:38
BlitzKrieg
skeletor писал(а):Сервер колом не встаёт.
Вот и я об том же.
Re: Большие проблемы с производительностью
Добавлено: 2013-11-20 8:31:19
BlitzKrieg
Топикстартер озвучьте конфигурацию и что там за mf0 у вас. Но думаю mf0 тут непричем.
Re: Большие проблемы с производительностью
Добавлено: 2013-12-03 23:21:56
shoman
На сервере стоит рейд LSI. 4 физических диска: два SATA по 3 Тб, два SSD по 250 Гб. Настроены 2 логических RAID 1 диска.
Код: Выделить всё
%df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/mfid1p3 2.6T 1.6T 888G 64% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/mfid0s1d 216G -42G 240G -21% /usr/home
Код: Выделить всё
%ls /dev
acpi
ata
atkbd0
audit
bpf
bpf0
console
consolectl
ctty
devctl
devstat
dumpdev
fd
fido
geom.ctl
gpt
gptid
io
kbd0
kbd1
kbdmux0
klog
kmem
log
mdctl
megaraid_sas_ioctl_node
mem
mfi0
mfid0
mfid0s1
mfid0s1d
mfid1
mfid1p1
mfid1p2
mfid1p3
nfslock
null
pci
ptmx
pts
random
stderr
stdin
stdout
sysmouse
ttyv0
ttyv1
ttyv2
ttyv3
ttyv4
ttyv5
ttyv6
ttyv7
ttyv8
ttyv9
ttyva
ttyvb
ttyvc
ttyvd
ttyve
ttyvf
ufsid
ugen0.1
ugen0.2
ugen1.1
ugen1.2
urandom
usb
usbctl
xpt0
zero
zfs
Как узнать, к чему относится mf0 ?
Re: Большие проблемы с производительностью
Добавлено: 2013-12-04 8:01:17
BlitzKrieg
Ты вывод который тут показывал руками не правил ?:-) Чот я у тебя вообще mfi не вижу в первом сообщении зато вижу mf0.
В dmesg посмотри и pciconf -lv
Тогда вообще хз чо у тебя там mf0 плохо, как писали выше, а его и нету вовсе, плохо тому кого нет :-) Что-то ты темнишь или я вообще ничо не понимаю :-)