Obrigado, esse detalhe extra é útil.
Como você está executando em ARM64, isso pode ser relevante. O suporte do Discourse a contêineres ARM/aarch64 historicamente teve algum tratamento especial em comparação com x86_64, então eu mencionaria isso claramente no título do tópico ou na primeira postagem.
O resultado do plugin de IA também é interessante. Como o aviso desapareceu após desativar o plugin de IA, mas não retornou imediatamente após reativá-lo, isso pode ter sido causado por alguma inicialização única, aquecimento de cache, configuração do modelo/provedor ou estado em segundo plano, em vez de um bug consistente e reproduzível do plugin.
Neste ponto, eu continuaria observando, mas se acontecer novamente, tentaria capturar:
- o endpoint de API exato e a estrutura do payload, removendo qualquer conteúdo privado;
- se o aviso aparece apenas na primeira postagem via API após reinicialização/reconstrução ou em toda postagem via API;
- a duração da solicitação no lado do cliente;
- se desativar o plugin de IA remove o aviso de forma confiável em vários testes;
- se o mesmo ocorre em x86_64 ou apenas em ARM64, caso você possa testar isso.
Para verificar a duração da solicitação no lado do cliente, você pode usar curl com saída de temporização, por exemplo:
curl -s -o /dev/null \
-w "total=%{time_total}s connect=%{time_connect}s starttransfer=%{time_starttransfer}s\n" \
-X POST "https://your-site.example.com/posts.json" \
-H "Api-Key: YOUR_API_KEY" \
-H "Api-Username: YOUR_USERNAME" \
--data-urlencode "title=API timing test" \
--data-urlencode "raw=Small plain text API test post" \
--data-urlencode "category=1"
Se a própria solicitação estiver levando cerca de 2 segundos ou mais, o aviso de mutex provavelmente está apenas relatando que o caminho de criação da postagem levou mais tempo do que o Discourse esperava. Se a solicitação for muito rápida, mas o aviso ainda aparecer, isso seria mais interessante.
O hardware parece mais do que suficiente para um site de usuário único, então isso pode ser específico da arquitetura/implementação/caminho do plugin, em vez de simples subdimensionamento.