Прошу помощи в оптимизации mysql + apache2

12
D
На сайте с 31.07.2006
Offline
70
2288

Приобрел себе сервер Intel(R) Xeon(TM) CPU 3.20GHz, 2 cores + 2 Gb RAM (со временем добавлю), перенес туда пока свой один сайт (но не малый), и заметил что уже очень сильно загружается ЦП мускулом и апачем, мускул более-мение оптимизировал с помощью mysqltuner, но все равно бывают моменты что процесс mysql прыгает до 90%. Апач по 20-30% (согласно htop) грузит систему.

mysqltuner показывает вот чего на данный момент:


-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.1.49-3
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 199M (Tables: 276)
[--] Data in InnoDB tables: 96K (Tables: 6)
[--] Data in MEMORY tables: 126K (Tables: 2)
[!!] Total fragmented tables: 17

-------- Performance Metrics -------------------------------------------------
[--] Up for: 42m 54s (18K q [7.360 qps], 3K conn, TX: 140M, RX: 3M)
[--] Reads / Writes: 79% / 21%
[--] Total buffers: 106.0M global + 2.7M per thread (151 max threads)
[OK] Maximum possible memory usage: 511.8M (25% of installed RAM)
[OK] Slow queries: 0% (0/18K)
[OK] Highest usage of available connections: 5% (9/151)
[OK] Key buffer size / total MyISAM indexes: 16.0M/102.0M
[OK] Key buffer hit rate: 99.8% (52M cached / 118K reads)
[OK] Query cache efficiency: 35.1% (3K cached / 9K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 5% (92 temp sorts / 1K sorts)
[OK] Temporary tables created on disk: 21% (53 on disk / 241 total)
[OK] Thread cache hit rate: 99% (9 created / 3K connections)
[OK] Table cache hit rate: 25% (321 open / 1K opened)
[OK] Open file limit used: 6% (610/10K)
[OK] Table locks acquired immediately: 96% (8K immediate / 9K locks)
[OK] InnoDB data size / buffer pool: 96.0K/8.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Enable the slow query log to troubleshoot bad queries

Сразу скажу это мой первый опыт в администрировании сервера (VDS до этого не использовал, от хостинга пришлось отказаться так как оплачивать за 28 гб места выходит дороговато).

M
На сайте с 16.09.2009
Offline
278
#1
drop:
Приобрел себе сервер Intel(R) Xeon(TM) CPU 3.20GHz, 2 cores + 2 Gb RAM (со временем добавлю), перенес туда пока свой один сайт (но не малый), и заметил что уже очень сильно загружается ЦП мускулом и апачем

Телепаты, ау! Так?

drop:
mysqltuner показывает вот чего на данный момент:

MySQL started within last 24 hours - recommendations may be inaccurate
Enable the slow query log to troubleshoot bad queries

Вот че он Вам показывает. "Подождите, покуда статистика соберется".

drop:

Сразу скажу это мой первый опыт в администрировании сервера (VDS до этого не использовал, от хостинга пришлось отказаться так как оплачивать за 28 гб места выходит дороговато).

Я Вам больше скажу: телепатии не существует. Покуда не покажете сервер кому-нибудь. Либо на крайний случай (не уверен, что будет толк) - не расскажете подробнее о том, что работает на сервере (версия ОС,что делает апач, что еще есть кроме апача и мускула, что за движок у сайта).

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
D
На сайте с 31.07.2006
Offline
70
#2

а как же экстрасенсы?:)

сервер работает на Debian Linux 6.0, сайт работает на DLE, если верить самому движку то вот что он выдает:

<!-- Время выполнения скрипта 0.79267 секунд -->
<!-- Время затраченное на компиляцию шаблонов 0.30781 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0.42736 секунд -->
<!-- Общее количество MySQL запросов 3 -->
<!-- Затрачено оперативной памяти 4.04 MB -->

так же есть форум на vbulletin, но он только был установлен и соответственно пуст.

Насчет вопроса "что делает апач" затрудняюсь ответить, наверное работает и обрабатывает http запросы:) Если скажите как копнуть глубже дабы это посмотреть, то смогу ответить более корректно на него.

Если верить модулю server-status, то вот:

Current Time: Friday, 21-Jan-2011 13:05:49 EET
Restart Time: Wednesday, 19-Jan-2011 23:08:56 EET
Parent Server Generation: 0
Server uptime: 1 day 13 hours 56 minutes 52 seconds
Total accesses: 1656959 - Total Traffic: 45.8 GB
CPU Usage: u73.9 s13.14 cu0 cs0 - .0637% CPU load
12.1 requests/sec - 351.7 kB/second - 29.0 kB/request
77 requests currently being processed, 29 idle workers
WhiteSuite
На сайте с 09.11.2010
Offline
21
#3

Выкладывайте:

cat /proc/meminfo

cat /proc/cpuinfo

top -b -n 1 | head

dmesg

php -m

Скоростной хостинг на платформе NodeSquad. Скромные цены и большие тестовые периоды. Отзывы на SearchEngines. (/ru/forum/comment/7975529)
M
На сайте с 16.09.2009
Offline
278
#4
drop:

сервер работает на Debian Linux 6.0

mysql какой-то странной версии. в тестинге должен показывать 5.1.49-3-log

drop:
сайт работает на DLE

Какой версии?

drop:
если верить самому движку то вот что он выдает

Кеширование в PHP включите (xcache, например).

nginx поставьте перед апачем.

drop:
Если верить модулю server-status, то вот:

Ну дык и че они (77 requests currently being processed) делают-то? Включите хоть ExtendedStatus и посмотрите.

D
На сайте с 31.07.2006
Offline
70
#5
WhiteSuite:
Выкладывайте:

cat /etc/issue
cat /proc/meminfo
cat /proc/cpuinfo
top -b -n 1 | head
dmesg

cat /etc/issue

Debian GNU/Linux 6.0 \n \l

cat /proc/meminfo

MemTotal: 2061212 kB
MemFree: 52704 kB
Buffers: 127828 kB
Cached: 1437880 kB
SwapCached: 756 kB
Active: 948160 kB
Inactive: 920512 kB
Active(anon): 219368 kB
Inactive(anon): 83772 kB
Active(file): 728792 kB
Inactive(file): 836740 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 3905528 kB
SwapFree: 3902520 kB
Dirty: 560 kB
Writeback: 0 kB
AnonPages: 302208 kB
Mapped: 20240 kB
Shmem: 204 kB
Slab: 97520 kB
SReclaimable: 78792 kB
SUnreclaim: 18728 kB
KernelStack: 2112 kB
PageTables: 10872 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 4936132 kB
Committed_AS: 2201900 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 19068 kB
VmallocChunk: 34359667304 kB
HardwareCorrupted: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 7984 kB
DirectMap2M: 2088960 kB

cat /proc/meminfo

MemTotal: 2061212 kB
MemFree: 52704 kB
Buffers: 127828 kB
Cached: 1437880 kB
SwapCached: 756 kB
Active: 948160 kB
Inactive: 920512 kB
Active(anon): 219368 kB
Inactive(anon): 83772 kB
Active(file): 728792 kB
Inactive(file): 836740 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 3905528 kB
SwapFree: 3902520 kB
Dirty: 560 kB
Writeback: 0 kB
AnonPages: 302208 kB
Mapped: 20240 kB
Shmem: 204 kB
Slab: 97520 kB
SReclaimable: 78792 kB
SUnreclaim: 18728 kB
KernelStack: 2112 kB
PageTables: 10872 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 4936132 kB
Committed_AS: 2201900 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 19068 kB
VmallocChunk: 34359667304 kB
HardwareCorrupted: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 7984 kB
DirectMap2M: 2088960 kB
root@tuborg:~# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.20GHz
stepping : 10
cpu MHz : 3199.992
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 5
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 pbe syscall lm constant_tsc pebs bts pni dtes64 monitor ds_cpl cid cx16 xtpr lahf_lm
bogomips : 6399.98
clflush size : 64
cache_alignment : 128
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.20GHz
stepping : 10
cpu MHz : 3199.992
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 5
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 pbe syscall lm constant_tsc pebs bts pni dtes64 monitor ds_cpl cid cx16 xtpr lahf_lm
bogomips : 6400.62
clflush size : 64
cache_alignment : 128
address sizes : 36 bits physical, 48 bits virtual
power management:

top -b -n 1 | head

top - 13:15:08 up 17 days, 2:45, 3 users, load average: 0.64, 0.66, 0.78
Tasks: 225 total, 2 running, 222 sleeping, 0 stopped, 1 zombie
Cpu(s): 3.2%us, 0.7%sy, 0.0%ni, 95.4%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2061212k total, 1990880k used, 70332k free, 127424k buffers
Swap: 3905528k total, 3008k used, 3902520k free, 1417164k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
23901 www-data 20 0 49356 13m 3872 R 28 0.7 0:00.41 apache2
24053 www-data 20 0 46868 11m 3892 S 11 0.6 0:00.43 apache2
24087 user 20 0 2460 1132 796 R 4 0.1 0:00.03 top

или быть может последнее лучше в вечернее время как нагрузка будет посерьезней?

M
На сайте с 16.09.2009
Offline
278
#6
drop:
или быть может последнее лучше в вечернее время как нагрузка будет посерьезней?

Если не можете отличить минимально разумные советы из предложенных - продолжайте выкладывать запрошенную ерунду в любое врямя суток.

WhiteSuite
На сайте с 09.11.2010
Offline
21
#7
drop:
или быть может последнее лучше в вечернее время как нагрузка будет посерьезней?

Ну да, потому что судя по этому выводу, описанной ранее проблемы нет. Она ведь так звучала:

drop:
очень сильно загружается ЦП мускулом и апачем

И еще вопрос: есть ли Nginx перед Apache и нужен вывод php -m.

Кроме того, конфиг Мускула лучше сделать на основе не стандартного, а huge.

Путь где-то там: dpkg -L mysql-server-5.1 | grep huge

WhiteSuite добавил 21.01.2011 в 14:35

myhand:
Если не можете отличить минимально разумные советы из предложенных - продолжайте выкладывать запрошенную ерунду в любое врямя суток.

Спасибо за минус конечно, только есть одно но. Вы начали чинить, а проблемы не было. И выяснил это я, а не Вы. Продолжайте чинить ;) Если Вы не понимаете зачем мне нужна эта информация, это не значит, что она не нужна.

M
На сайте с 16.09.2009
Offline
278
#8
WhiteSuite:
Спасибо за минус конечно, только есть одно но.

Минус за то, что большая часть запрошенной Вами информации малополезна.

Вместо того, чтобы показывать Вам cpuinfo - ТC мог бы ответить про nginx, PHP-кешер, что спрашивали ранее.

WhiteSuite:
Вы начали чинить, а проблемы не было. И выяснил это я, а не Вы.

Если у ТС стоит толпа апачей (порядка 100) и какой-то херней страдает - для меня это вполне однозначный симптом. И спрашивать про установленный nginx - просто глупо.

dixi

WhiteSuite
На сайте с 09.11.2010
Offline
21
#9
myhand:
Минус за то, что большая часть запрошенной Вами информации малополезна.

Объясняю зачем нужна информация.

Если есть нагрузка на процессор, то возможно не только потому, что много процессов делают запросы, а из-за неправильного распределения цпушным шедулером или даже из-за высокого iowait, когда процессор ничего не делает под нагрузкой 100%, потому что ждет диск. Отсюда спросил top. Про cpuinfo спросил, потому что хотел посмотреть работает процессор на полную мощность или спит по просьбе Cool'n'Quiet. Кроме того там написано количество ядер, а это нужно учитывать в конфигах и Апача и Нгинкса. memonfo спросил потому, что от того, какой процент кэша в памяти зависит и работа процессора (видите? я все время помню, что жалоба именно на CPU). php -m спросил, чтобы посмотреть есть ли кэшеры опкода. Они тоже, как Вы знаете, влияют на производительность процессора и даже для того и созданы.

myhand:

Вместо того, чтобы показывать Вам cpuinfo - ТC мог бы ответить про nginx, PHP-кешер, что спрашивали ранее.

И про это я его тоже спросил. Но для ориентировки нужна сначала была та информация. Может Нгинкс вообще не нужен бы был.

myhand:

Если у ТС стоит толпа апачей (порядка 100) и какой-то херней страдает - для меня это вполне однозначный симптом.

В том то и проблема, что для Вас много однозначных симптовов без информации. Только напомню, что если у клиента стоит хоть миллион апачей - это не имеет практически ничего общего с процессором. Точнее имеет, но очень посредственное и проверяется именно в meminfo, которое я тоже спросил. Видите? Вы забыли, что проблема не в памяти, а в CPU изначально. Не надо чинить, что умеешь, нужно чинить то, что сломалось.

Если человек чинит без диагностики, значит он чинит по шаблону. Это плохо.

M
На сайте с 16.09.2009
Offline
278
#10
WhiteSuite:
из-за неправильного распределения цпушным шедулером

Школьник умнее шедулера linux? :-) Не верю.

Дальше уже читал не слишком пристально и отвечаю Вам последний раз...

WhiteSuite:
Кроме того там написано количество ядер, а это нужно учитывать в конфигах и Апача

Боюсь даже спрашивать как Вы это собираетесь учитывать в конфиге апача. Документация такого способа не знает.

WhiteSuite:
и Нгинкса

В дебиане по дефолту worker_processes 4 - это за глаза должно хватить. Только нету там nginx :-( Как и кешеров.

WhiteSuite:
Может Нгинкс вообще не нужен бы был.

Нужен. Если немного пошевелить мозгами и посчитать сколько памяти сожрали те 70 апачей. Которую можно и кешеру отдать, и mysql - с большим толком.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий