XF 1.5 Скорость работы xenforo под нагрузкой

firstsecond

Проверенные
Сообщения
129
Реакции
69
Баллы
1,735
Вообщем по статистике "за 1 час" после 800 пользователей онлайн начинает притормаживать выделенный сервер.

Гугловая аналитика в мобильном варианте в этот момент сообщает о 150 пользователях, что вообщем-то логично, т.к. у меня средняя длительность пребывания пользователя - 10 минут.

Сервер: 8 ядерный ксеон с 32 гигами оперативки ECC c двумя SSD - один под базу, другой по ФС
Кеш запросов к базе - включён в мускуле
Мемкеш включен на сервере и на ксене.

Подскажите ваши показатели, а то мне кажется, что такая железка должна без проблем дежать на порядок больше пользователей онлайн.

Спасибо
 
В топ показывает туеву хучу процессов, очередь начинается от 8 и бывает до 60
mytop иногда нарастает очередь процессов, но потом разрешается, как самый медленный выполнится.
Проявляется просто как задержка загрузки страниц, ошибок нет, 500 нет - ну это мы давно уже отстроили.
но скажем так вместо 05 секунды страницы отдает 3-8 секунд.
Вообщем долго -)

А вот сейчас даже меньше секунды отдаётся страница, хотя 800 чел (ну 150 -).
и загрузка в топе: меньше 8 (то есть очереди нет)
я могу показать графики cacti, если интересно.
Инсерты делают: в час пик 2 сообщения в минуту только
Но пока просто сравнить - может так и должно быть

А если нет - то буду искать причину -)
 
Блин, ну в заголовке top есть вся основная информация - чем занят, что wa показывает. Тогда смотреть vmstat.
По симптомам - возможно похоже на проблемы с производительностью mysql. Т.е. смотрим в mysql show processlist.
 
  • Мне нравится
Реакции: Hope
top - 22:55:08 up 1 day, 10:08, 5 users, load average: 6,22, 5,95, 7,58
Tasks: 226 total, 4 running, 222 sleeping, 0 stopped, 0 zombie
%Cpu(s): 26,2 us, 5,9 sy, 0,0 ni, 66,6 id, 0,1 wa, 0,0 hi, 1,2 si, 0,0 st
KiB Mem: 33015232 total, 29615860 used, 3399372 free, 3574416 buffers
KiB Swap: 35104764 total, 676 used, 35104088 free. 22014304 cached Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2618 headz 20 0 364916 34536 23624 R 13,9 0,1 0:00.42 php
23414 mysql 20 0 13,731g 1,082g 13612 S 4,6 3,4 25:00.25 mysqld
2368 www-data 20 0 258448 125524 6832 S 3,0 0,4 27:58.86 nginx
797 bind 20 0 719640 77064 7100 S 1,7 0,2 31:22.19 named
809 nobody 20 0 357068 34640 2280 S 1,7 0,1 30:06.81 memcached
2366 www-data 20 0 246420 112180 6832 S 0,7 0,3 27:20.61 nginx
3 root 20 0 0 0 0 S 0,3 0,0 1:14.52 ksoftirqd/0
7 root 20 0 0 0 0 S 0,3 0,0 4:17.97 rcu_sched
1336 www-data 20 0 444024 16884 4228 S 0,3 0,1 0:00.14 apache2
1420 www-data 20 0 443720 16264 4124 S 0,3 0,0 0:00.10 apache2
1750 www-data 20 0 444256 16848 4144 S 0,3 0,1 0:00.07 apache2
1918 www-data 20 0 443576 16124 4124 S 0,3 0,0 0:00.05 apache2
2293 root 20 0 443224 40636 28968 S 0,3 0,1 1:00.35 apache2
2536 potemki 20 0 27684 2984 2408 R 0,3 0,0 0:00.01 top
7951 root 20 0 0 0 0 S 0,3 0,0 0:00.17 kworker/2:3
16918 root 20 0 0 0 0 S 0,3 0,0 0:01.07 kworker/u16:1
27605 www-data 20 0 445228 18736 4684 S 0,3 0,1 0:00.95 apache2
27870 www-data 20 0 444872 18320 4740 S 0,3 0,1 0:00.88 apache2
31063 root 20 0 27944 3088 2428 S 0,3 0,0 0:25.56 top
31418 www-data 20 0 445440 18860 4676 S 0,3 0,1 0:00.43 apache2
31649 www-data 20 0 443792 17360 4740 S 0,3 0,1 0:00.40 apache2
32173 www-data 20 0 443632 17036 4740 S 0,3 0,1 0:00.30 apache2
32271 www-data 20 0 444104 17148 4228 S 0,3 0,1 0:00.32 apache2
1 root 20 0 111752 5348 3072 S 0,0 0,0 0:05.93 systemd
2 root 20 0 0 0 0 S 0,0 0,0 0:00.02 kthreadd
5 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/0:0H
8 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcu_bh

mytop сейчас окей:

MySQL on localhost (5.6.35) load 12.49 7.64 8.05 35/499 5814 up 0+02:47:41 [22:56:03]
Queries: 3.0M qps: 308 Slow: 0.0 Se/In/Up/De(%): 58/10/07/01
Sorts: 52 qps now: 642 Slow qps: 0.0 Threads: 13 ( 3/ 20) 71/06/05/00
Key Efficiency: 98.9% Bps in/out: 88.4k/ 1.6M Now in/out: 137.6k/ 1.1M

Id User Host/IP DB Time Cmd State Query
-- ---- ------- -- ---- --- ----- ----------
20 root localhost mysql 1561 Sleep
1245 DELAYED localhost potemki_se 37 Delaye Waiting
157808 DELAYED localhost potemki_se 11 Delaye Waiting
157438 DELAYED localhost potemki_se 3 Delaye Waiting
187176 cacti localhost cacti 1 Sleep
187201 virginia- localhost virginia-a 1 Sleep
2556 root localhost 0 Query init show full processlist
187163 cacti localhost cacti 0 Query Writing SELECT count(*) FROM poller_time WHERE poller_id=0 AND end_time>'0000-00-0
187172 antara2cl localhost antara2clu 0 Sleep
187186 administr localhost doblo2club 0 Sleep
187209 potemki_s localhost potemki_se 0 Sleep
187219 potemki_s localhost potemki_se 0 Sleep
187220 potemki_s localhost potemki_se 0 Sleep

potemki@potemki:~$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 676 3394772 3574576 22030048 0 0 120 157 16 28 30 9 61 0 0

Да, когда начинает подтормаживать - запросов становится больше, я тоже склоняюсь к мускулю, но что там его оптимизировать как, пока не представля.
 
Была похожая проблема с нагрузкой, но нагрузку генерировали боты дергая админку, после бана и закрытия админки, появился пользователь один пользователь (бот) который перебирал несколько тем в секунду... к чему это я, посмотри в логи ошибок и обращений может к тебе "друзья пришли".
 
Была похожая проблема с нагрузкой, но нагрузку генерировали боты дергая админку, после бана и закрытия админки, появился пользователь один пользователь (бот) который перебирал несколько тем в секунду... к чему это я, посмотри в логи ошибок и обращений может к тебе "друзья пришли".
Не, там всё окей, глядел.
Это пользователи приходят -)))
 
Да, когда начинает подтормаживать - запросов становится больше, я тоже склоняюсь к мускулю, но что там его оптимизировать как, пока не представля.
Это логично, тогда в show processlist будет висеть пачка запросов, отсюда очередь php с апачем и другие прелести. А тормозить запрос может как по железу, так и по настройкам, так и по кривому запросу или проблемному индексу.

но что там его оптимизировать как, пока не представля.
Посмотреть на выдачу mysqltuner, только нужно учесть что заложить в innodb_buffer_pool_size где-то полтора объема самой базы, если оперативка позволит (а может и не позволить). Вообще, innodb капризен к настройкам.
 
Посмотреть на выдачу mysqltuner, только нужно учесть что заложить в innodb_buffer_pool_size
Спасибо, достаточно дельные предложения.
Память позволит! и так сейчас мускулю 14 гигов отдано, база пока 1,5 гига проверил - innodb_buffer_pool_size сейчас 2048M установлен, так что должно быть хорошо

Буду пробовать, как сдамся, вас приглашу! -)
 
Память позволит!
Так innodb_buffer_pool_size сам по себе еще другие кеши подтянет (точнее желательно подтянуть) и все это умноженное на max_connections - в итоге память растет на глазах. )
 
  • Мне нравится
Реакции: Hope
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу