Abbiamo continuato a ricevere questo messaggio sul nostro forum. (ogni 3-4 ore circa). Abbiamo 16 core di CPU e 32 GB di RAM. Non penso che le risorse siano un problema.
Oops
Il software che alimenta questo forum di discussione ha riscontrato un problema imprevisto. Ci scusiamo per l'inconveniente.
Informazioni dettagliate sull'errore sono state registrate e è stata generata una notifica automatica. Ci daremo un'occhiata.
Non è necessaria alcuna ulteriore azione. Tuttavia, se la condizione di errore persiste, è possibile fornire ulteriori dettagli, inclusi i passaggi per riprodurre l'errore, pubblicando un argomento di discussione nella categoria di feedback del sito.
Il log di produzione mostra
app/models/user_auth_token.rb:125:in `lookup'
lib/auth/default_current_user_provider.rb:131:in `current_user'
lib/current_user.rb:35:in `current_user'
app/controllers/application_controller.rb:1047:in `rate_limit_crawlers'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
lib/middleware/anonymous_cache.rb:393:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-silence_logger.rb:27:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:236:in `call'
Errore imprevisto in Message Bus: ActiveRecord::ConnectionNotEstablished: connessione al server in \"172.17.0.2\", porta 5432 fallita: FATAL: gli slot di connessione rimanenti sono riservati per le connessioni superuser non di replica.
Errore imprevisto in Message Bus: ActiveRecord::ConnectionNotEstablished: connessione al server in \"172.17.0.2\", porta 5432 fallita: FATAL: gli slot di connessione rimanenti sono riservati per le connessioni superuser non di replica.
Errore imprevisto in Message Bus: ActiveRecord::ConnectionNotEstablished: connessione al server in \"172.17.0.2\", porta 5432 fallita: FATAL: gli slot di connessione rimanenti sono riservati per le connessioni superuser non di replica.
Errore imprevisto in Message Bus: ActiveRecord::ConnectionNotEstablished: connessione al server in \"172.17.0.2\", porta 5432 fallita: FATAL: gli slot di connessione rimanenti sono riservati per le connessioni superuser non di replica.
Abbiamo impostato la seguente configurazione in
UNICORN_WORKERS: 32
UNICORN_SIDEKIQS: 2
e per psql
db_shared_buffers: "4096MB"
Per favore, fatemi sapere cos’altro posso fare per migliorare la configurazione e assicurarmi che il server non si blocchi.
Se disponi di un server di database dedicato con 1 GB o più di RAM, un valore iniziale ragionevole per shared_buffers è il 25% della memoria del tuo sistema. Esistono alcuni carichi di lavoro in cui impostazioni ancora più grandi per shared_buffers sono efficaci, ma poiché PostgreSQL si basa anche sulla cache del sistema operativo, è improbabile che un’allocazione di oltre il 40% della RAM a shared_buffers funzioni meglio di una quantità inferiore.
E questo non è un server di database dedicato, ci sono anche 32 processi unicorn su di esso.
Mi fido sempre di te in questioni come queste, e pensavo di citare un consiglio che mi avevi dato in passato, quindi, NO non sono sicuro.
È abbastanza chiaro che il problema sono le connessioni e aumentare la RAM al 25% di 32 GB potrebbe aiutare in generale, ma non è la causa dell’errore.
EDIT:
Ah! È esattamente quello che ricordavo, tranne per il fatto che sembra che stessi per superare il 50%. . .
Abbiamo provato a modificare l’impostazione del timeout per PSQL eseguendo ALTER ROLE discourse SET statement_timeout = '30000';. E questa query è quella che è stata bloccata, una volta ogni paio d’ore.