Ha caigut el Pleroma

Segons diuen aquí podeu provar diversos valors de la variable pool_size fins a trobar un que li agradi.
Cal afegir la variable a config/prod.secrets.exs (no deu ser-hi), per exemple:

config :pleroma, Pleroma.Repo,
adapter: Ecto.Adapters.Postgres,
pool_size: 10,

Si amb 10 segueix donant l’error provar 15 i així anar pujant fins que ja li agradi. Hi ha un altre variable que també pot ajudar segons diu l’error. En la pàgina que he enllaçat la tenen posada:

queue_target: 5000

També es pot afegir sota de pool_size si és que provant diferents valors de pool_size no es sol·luciona.

1 'M'agrada'

Gràcies!

El tuttle va estar provant alguna costa, no sé si alguna d’aquestes.

1 'M'agrada'

A veure si hi ha sort!

1 'M'agrada'

Encara pots avui? M’han anul·lat l’assaig…

He provat algunes coses (com la que proposava l’spla), però crec que ja les havia provat el tuttle.

No se m’acut molt més… No sé si tornar a instal·lar i utilitzar la mateixa bbdd serviria, si el problema és la bbdd…

Podeu provar de pujar el valor max_connections del propi servidor de base de dades Postgresql. Aquest paràmetre és 100 per defecte però el podeu provar de pujar a 150 o 200 si cal. El trobareu en el fitxer de configuració de Postgresql. Per exemple, a Ubuntu Server 22.04 el fitxer és a:

/etc/postgresql/14/main/postgresql.conf

Si canvieu el valor, cal reiniciar Postgresql.
Per a mastodont.cat el vaig haver de pujar a 350:

max_connections = 350

1 'M'agrada'

Ho podem provar. D’aquí hem tret:

shared_buffers = 512MB
effective_cache_size = 1536MB
maintenance_work_mem = 128MB
work_mem = 26214kB
max_worker_processes = 2
max_parallel_workers_per_gather = 1
max_parallel_workers = 2

Alguns valors els hem pujat més encara.

Hi ha una pàgina genial per a afinar un servidor Postgresql:

1 'M'agrada'

Holi! No sabia que es podia parlar del tema per aquí x)

Un dubte, quins son els recursos del servidor cuan cau? Pot ser que es quedi sense memoria?

Normalment el pool de conexions sol estar associat a l’ús de la memoria. Les configuracions que mencioneu son per a fer que la base de dades pugui fer servir tots els recursos a la seva disposició, pero si realmente ja fa servir tots, significa que el servidor s’ha quedat petit.

Us cuadra?

2 'M'agrada'

Ho recomanen a la documentació de pleroma mateixa que he enllaçat abans!

És una bona pregunta, però ara mateix no ho sé. Ho intento investigar si en @tuttle no ho respon abans (però crec que avui viatjava).

@drymer , si vols donar un cop de mà, ets més que benvingut :stuck_out_tongue:

Em jugo un pésol que si pugeu max_connections ja funcionarà

1 'M'agrada'

En la mateixa configuració de postgres?

max_connections = 200

Em sembla que tot el que heu dit te molt de sentit. No tinc experiencia particular amb postgres, només en general amb BBDD, pero si puc fer alguna cosa digueu-m’he. Si em voleu donar accés puc donar un cop d’ull en general, sinó no passa res x)
Si ja heu modificat els valors de les conexións com diu l’ @spla i segueix passant el problema, jo miraria el tema de la memoria. Si el proveidor no dona algún sistema de monitorització de memoria, podem fer un script cutre que apunti tot en un fitxer i el podem consultar cuan torni a fallar.

En la mateixa configuració de postgres?

Sip. Tot i així, menjará memoria, pot arribar a un punt en el que faci que pleroma en si tingui menys recursos dels que necessita. (si está tot al mateix servidor, sinó res)

1 'M'agrada'

i dona el mateix error? si la resposta és sí puja a 250 o 300 a veure…

1 'M'agrada'

Quina casualitat! estic instal·lant Akkoma des de zero en la Raspberry i m’ha sobtat que em donés el mateix error sent una base de dades buida/verge.


El problema era un error de sintaxis meu! Al voler crear el primer usuari escrivia:

MIXENV=prod mix pleroma.user new …

Quan ha de ser:

MIX_ENV=prod mix pleroma.user new …

Increïble.

1 'M'agrada'

Quina casualitat! Deu ser un error prou genèric de desconnexió…

Per cert, porto una estona utilitzant la instància i no dóna els errors que donava. A part que sembla que ja s’ha posat al dia de les publicacions.

No he tingut temps d’incorporar lo de les connexions màximes, així que potser hi té a veure la resta de paràmetres de la base de dades que vaig tocar ahir.

Tot i això no estic massa convençut, el que tarda més en aparèixer (uns quants segons, es fa llarg) són les notificacions.

Per cert, entre d’altres, vaig actualitzar el pleroma. Per si solucionava alguna cosa…

El que interpreto és que al no executar l’ordre en l’entorn de producció (MIX_ENV=prod) ho fa en l’entorn de desenvolupament per defecte, entorn que no té la configuració de com connectar amb la base de dades i dona aquest error no massa clar…

1 'M'agrada'

Sembla que els canvis alguna cosa han fet:

  • Ja no dóna l’error del pool_size al servidor (o com a mínim és molt puntual).
  • Ja no dóna l’error al frontend (Error 500) que sortia amb freqüència tot i funcionar.

Continua carregant les notificacions amb molta lentitud, fet que em sugereix que potser no hi té res a veure.

@drymer He revisat i no tinc accés a la interfície del proveidor. Només en @tuttle la té (no és gaire positiu) i ara és fora. Així que haurem d’esperar. Si t’interessa donar un cop de mà en afinar la configuració, encantat de donar-te accés si els sembla bé al @tuttle i la @titi (jo crec que no hi haurà problema).

1 'M'agrada'

Sabeu quin era exactament el problema? per pura curiositat científica meva…

1 'M'agrada'