L'installazione di Discourse è diventata sempre più lenta

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
1 Mi Piace

Quanto traffico state ricevendo? Il vostro forum sembra troppo piccolo per riscontrare problemi di questo tipo.

Si tratta di un’installazione ufficiale? Su che tipo di VPS è in esecuzione il vostro forum?

La pagina di amministrazione dice 50k visualizzazioni di pagina negli ultimi 30 giorni.

Suppongo di sì? Ho seguito le istruzioni che ho potuto trovare all’epoca.
Non ho fatto molto per personalizzare l’installazione.

Non sono sicuro. È un server virtuale a 2 core e 4 GB di cari.net.

Il tuo forum è in esecuzione dietro nginx 1.10.3 che ha oltre 6 anni, quindi c’è qualcosa di strano qui.

A parte questo, deve essere una delle installazioni di Discourse con le prestazioni peggiori che abbia mai visto. Non voglio promuovere il nostro servizio di hosting in sé, ma hai mai considerato di passare a un altro host? Un forum di queste dimensioni e con questo traffico dovrebbe funzionare bene anche su un server molto piccolo.

1 Mi Piace

Sono sicuro che ci sia molto da imparare dalle informazioni del miniprofiler che hai condiviso. Al momento salta all’occhio solo una cosa: hai forse un numero enorme di bozze di post??
/my/activity/drafts

[quote=“Ed S, post:25, topic:260501, username:Ed_S”]hai forse un numero enorme di post in bozza??
/my/activity/drafts
[/quote]

Ne ho 3 in bozza, apparentemente.

È in esecuzione debian 9. :slight_smile:

nginx sembra funzionare bene, il resto del mio sito (https://fredrik.hubbe.net/) non è lento.

Ma secondo quale metrica?
È discourse stesso che consuma molta memoria, IO o CPU? (Se sì, perché? Non ci ho fatto quasi niente…)
O è il sistema che è lento? Se sì, posso parlarne con cari.net.

E probabilmente proverò quel riavvio più tardi stasera per vedere se aiuta.
Sono passati circa 2 anni, immagino che potrebbe essere il momento?

Aspetta un attimo:

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

Se il totale residente di tutti i processi è inferiore a 800 MB, cos’altro sta facendo il resto della memoria?

Anche /proc/meminfo non sembra molto utile:

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

Forse ho più bisogno di quel riavvio di quanto pensassi… 2 anni di memory leak del kernel?

3 Mi Piace

Riavviato, ho 2 GB di memoria libera ora.
Vediamo se dura. :slight_smile:

3 Mi Piace

Dopo aver utilizzato Discourse per un po’, scoprirai che lo spazio su disco è molto grande.

Principalmente a causa del problema con l’immagine Docker, più aggiornamenti ci sono, più spazio viene occupato.

Esegui il seguente comando:

./launcher cleanup

Può aiutarti a liberare lo spazio occupato da Discourse.

Ciò aiuterà con l’utilizzo dello spazio su disco, sfortunatamente in questo caso:

c’è un sacco di swapping in corso che uccide le prestazioni.

Tutto è in attesa del disco, che è uno stato terribile in cui trovarsi.

1 Mi Piace

Non si tratta di non funzionare bene, per me era un’indicazione che qualcosa potrebbe essere obsoleto o non è un’installazione standard.

Finora, il riavvio sembra funzionare.
Ancora non sono sicuro del perché, però.

Sono contento che il riavvio sembri aver aiutato!

Potrebbe rivelarsi informativo. Condividerò il mio, un sistema molto più piccolo.

Ma ecco un pensiero, un’impostazione del kernel che può avere un impatto sulle prestazioni, hai abilitato le pagine trasparenti di grandi dimensioni. Io non le ho:

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

Vedi MKJ’s Opinionated Discourse Deployment Configuration per consigli!

Ecco il mio meminfo, su un sistema molto più piccolo che funziona bene:

# 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

Ok, quindi voglio solo chiudere questo argomento.
Il riavvio ha aiutato, e sta ancora aiutando.
Non so cosa abbia causato il memory leak, e a meno che qualcosa non cambi, probabilmente dovrò riavviare di nuovo una volta all’anno circa, cosa che posso accettare.

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.