Установка Discourse становится всё медленнее и медленнее

root@tymin:/var/discourse# swapon
NAME      TYPE      SIZE USED PRIO
/dev/dm-0 partition 1.9G   1G   -1
root@tymin:/var/discourse# df -T
Filesystem                Type     1K-blocks     Used Available Use% Mounted on
udev                      devtmpfs   2008928        0   2008928   0% /dev
tmpfs                     tmpfs       404176    41336    362840  11% /run
/dev/mapper/VolGroup-root ext4      59629100 50018424   6991008  88% /
tmpfs                     tmpfs      2020876        0   2020876   0% /dev/shm
tmpfs                     tmpfs         5120        0      5120   0% /run/lock
tmpfs                     tmpfs      2020876        0   2020876   0% /sys/fs/cgroup
/dev/sda1                 ext2        240972   226212      2319  99% /boot
tmpfs                     tmpfs       404172        0    404172   0% /run/user/1001
tmpfs                     tmpfs       404172        0    404172   0% /run/user/1000
/dev/loop0                btrfs     10485760  4250700   4424308  49% /chroot/compile
overlay                   overlay   59629100 50018424   6991008  88% /var/lib/docker/overlay2/4e9863e34f958e15f57c752fda2057b88f2aa03afaca82e0651f3aa23e56f795/merged

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

Это официальная установка? На каком именно VPS работает ваш форум?

На странице администратора указано 50 тысяч просмотров страниц за последние 30 дней.

Наверное. Я следовал тем инструкциям, которые смог найти на тот момент.
Я не делал особой настройки установки.

Не уверен. Это виртуальный сервер с 2 ядрами и 4 ГБ ОЗУ от cari.net.

Ваш форум работает на nginx 1.10.3, которому уже более 6 лет, так что здесь что-то неладно.

Помимо этого, это, должно быть, одна из самых плохо работающих установок Discourse, которые я когда-либо видел. Я не хочу рекламировать наш собственный хостинг-сервис как таковой, но вы когда-нибудь задумывались о переходе на другого хостера? Форум такого размера и с такой нагрузкой должен работать нормально даже на очень небольшом сервере.

Уверен, из информации miniprofiler, которую вы поделили, можно многому научиться. Сейчас бросается в глаза только одно: не слишком ли у вас много черновиков постов??
/my/activity/drafts

У меня, apparently, 3 черновика.

У меня Debian 9. :slight_smile:

Хотя nginx, кажется, работает нормально, остальная часть моего сайта (https://fredrik.hubbe.net/) не тормозит.

А по какому именно показателю?
Дискуссия сама по себе потребляет много памяти, операций ввода-вывода или процессорного времени? (Если да, то почему? Я ведь ничего особенного с ней не делал…)
Или же проблема в том, что система работает медленно? Если так, я могу обсудить это с cari.net.

И я, вероятно, попробую перезагрузку сегодня вечером, чтобы посмотреть, поможет ли это.Прошло около двух лет, думаю, может быть, пора?

Погодите минуту:

$ expr 0 `ps auxwww | tail +2 | awk '{ print " + " $6}'`
787952

Если общий объём резидентной памяти всех процессов меньше 800 МБ, то что же, чёрт возьми, занимает остальную память?

Файл /proc/meminfo тоже не кажется особенно полезным:

root@tymin:/# cat /proc/meminfo 
MemTotal:        4041756 kB
MemFree:          122852 kB
MemAvailable:      53388 kB
Buffers:           15300 kB
Cached:            87636 kB
SwapCached:       125192 kB
Active:           314348 kB
Inactive:         300988 kB
Active(anon):     270652 kB
Inactive(anon):   276288 kB
Active(file):      43696 kB
Inactive(file):    24700 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       1949692 kB
SwapFree:         921348 kB
Dirty:               144 kB
Writeback:             0 kB
AnonPages:        484704 kB
Mapped:            72596 kB
Shmem:             34520 kB
Slab:             319792 kB
SReclaimable:      26836 kB
SUnreclaim:       292956 kB
KernelStack:        6272 kB
PageTables:        19484 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     3970568 kB
Committed_AS:    4146996 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:     4001728 kB
DirectMap2M:      192512 kB

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

Перезагрузился, теперь у меня свободно 2 ГБ памяти. Посмотрим, надолго ли это хватит. :slight_smile:

После использования Discourse в течение некоторого времени вы обнаружите, что занято много места на жестком диске.

Это в основном связано с проблемой образов Docker: чем больше обновлений, тем больше места они занимают.

Выполните следующую команду:

./launcher cleanup

Это поможет освободить место, занятое Discourse.

Это поможет с использованием дискового пространства, но, к сожалению, в данном случае:

происходит огромное количество операций подкачки, что убивает производительность.

Всё ожидает диска, что является ужасным состоянием системы.

Дело не в том, что он не работает нормально; для меня это было указанием на то, что что-то может быть устаревшим или установка не является стандартной.

Пока перезагрузка, кажется, работает.
Но всё ещё не уверен, почему именно.

Рад, что перезагрузка, похоже, помогла!

Возможно, это окажется информативным. Я покажу свои данные, у меня система гораздо меньше.

Но вот мысль: есть настройка ядра, которая может повлиять на производительность — включены ли у вас прозрачные огромные страницы (transparent huge pages)? У меня они выключены:

# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

Посмотрите Мнение MKJ о конфигурации развёртывания Discourse за советами!

Вот мои данные meminfo на гораздо меньшей системе, которая работает отлично:

# cat /proc/meminfo 
MemTotal:        1009140 kB
MemFree:           91888 kB
MemAvailable:      88692 kB
Buffers:            7644 kB
Cached:           137040 kB
SwapCached:       144884 kB
Active:           418972 kB
Inactive:         380324 kB
Active(anon):     345300 kB
Inactive(anon):   345852 kB
Active(file):      73672 kB
Inactive(file):    34472 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       2097144 kB
SwapFree:        1049764 kB
Dirty:               400 kB
Writeback:             0 kB
AnonPages:        620688 kB
Mapped:            67192 kB
Shmem:             36536 kB
Slab:              67768 kB
SReclaimable:      27832 kB
SUnreclaim:        39936 kB
KernelStack:        3804 kB
PageTables:        14968 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2601712 kB
Committed_AS:    3784772 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      460652 kB
DirectMap2M:      587776 kB

Хорошо, я просто хочу закрыть этот вопрос.
Перезагрузка помогла и продолжает помогать.
Я не знаю, что вызвало утечку памяти, и если ничего не изменится, мне, вероятно, придётся раз в год или около того снова перезагружать систему, с чем я могу смириться.