Moving posts returns 502 bad gateway

RAM을 늘리고 데이터베이스를 재구성했지만, 문제는 여전히 지속되고 있습니다.

개발자들이 이 문제를 인지하고 있는지 여쭤보고 싶습니다. 감사합니다!

관리자로서 바로 적용할 수 있는 빠른 해결책이 있을까요? 타임아웃을 늘리는 건 어떨까요?

확신은 없습니다. 하지만 타임아웃을 더 길게 설정하면 도움이 될 것 같습니다. 사람이 많이 모인 스레드에서 훨씬 더 자주 발생하는데, 마치 검색 샘플링이나 스캔 과정이 너무 오래 걸리는 것 같습니다.

어떻게 구현해야 할지 방법을 찾으면 다시 보고하겠습니다. 저는 두 배로 늘리겠습니다.

네, 2.5.0.beta2에서도 문제가 계속됩니다.

RAM을 변경한 후 discourse setup을 실행하셨나요? RAM의 이점을 활용하려면 업데이트해야 하는 설정들이 있습니다.

구현은 다른 사람이 담당하고 있어서 정확히는 모르겠습니다. 하지만 프로세스를 완료하려면 이 작업이 필요하다는 점을 그에게 전달하겠습니다. 정말 감사합니다!

안녕하세요,
게시글 이동 중에 502 오류가 많이 발생합니다.
이 시나리오를 개선할 계획이 있으신가요?

감사합니다

안녕하세요, 찾으셨나요? 저처럼 메모리가 낮은 환경에서 사용하시는 분들을 위해 타임아웃을 app.yml의 ENV나 discourse 사이트 설정에 매개변수로 설정할 수 있으면 좋겠습니다.


어쩌면 바보 같은 질문일까요?


이렇게 많은 게시글을 이동할 때, 이 과정은 Sidekiq에 의해 관리되나요?

죄송합니다, 코드를 검색하지 못했습니다…


업데이트


Ruby 코드베이스를 간단히 살펴보니, 게시글 이동 함수가 호출되면 작업이 enqueue_jobs()를 통해 대기열에 추가되는 것을 확인했습니다.

Discourse 개발자가 아니기 때문에, 게시글 이동과 관련된 지연, 오류 또는 타임아웃 문제는 sidekiq의 성능 및 구성과 직접적으로 관련되어 보였습니다.

몇 일 전 시스템 레벨에서 Discourse가 Sidekiq를 어떻게 사용하는지 공부해 보았지만, 초보자를 위한 "요약본"을 찾는 데는 실패했습니다.

그래서 내부적으로 어떤 일이 일어나고 있는지 더 잘 이해하기 위해 Sidekiq 웹사이트를 방문했는데, 세 가지 다른 제공 옵션이 있어 혼란스러워져서 그냥 지나쳤습니다. 제 짧은 집중력과 즉각적인 이해에 대한 필요성 때문에, Discourse가 어떤 버전의 Sidekiq을 사용하는지, 어떤 정확한 기능과 스위치를 구성할 수 있는지 이해할 수 없었기 때문입니다…

이 분야에 신참인 저는 discourse에서 사용할 수 있는 정확한 sidekiq 아키텍처, 기능, 스위치, 환경 변수에 대해 알고 싶습니다… 하지만 아직까지 제가 찾는 것을 “찾지 못했습니다” - 우리 모두가 좋아하는 U2 노래 가락으로 부르면 그렇습니다.

모든 답변은 호기심에서 비롯됩니다…

업데이트:

다른 스레드에서 한 리더의 조언에 따라 “who’s online” 플러그인을 제외한 모든 플러그인을 비활성화했는데, 최근에는 이동 관련 문제가 발생하지 않았습니다.

그래서 지금은 신중하게 낙관적인 태도를 유지하고 있습니다. 상황이 변하면 다시 업데이트하겠습니다.

이 문제에 도움을 주신 모든 분들께 감사드립니다!

구체적으로 어떤 플러그인을 비활성화하셨나요?

이상적으로는 각각 개별적으로 비활성화하여 어떤 것이 문제를 일으키는지 확인하는 것이 좋았겠지만, 동작하지 않을 것으로 예상해서 모두 한꺼번에 끄고 말았습니다.

아마도 쓸데없는 추측일 것 같지만, 게시글이 이동될 때 발화되는 훅이 있는 것 같다고 추정합니다.

알아두면 좋겠네요. 감사합니다. 그리고 수정해 주신 @featheredtoast님께 감사드립니다.

최근 커뮤니티에서 게시글을 이동할 때, 특히 큰 스레드 간 이동 시 502 오류 문제가 발생하기 시작했습니다. 커스텀 플러그인은 설치되어 있지 않았습니다. 다른 Discourse 스레드의 조언에 따라 unicorn_workers를 10으로, db_shared_buffers를 4096MB로 증가시켰지만 상황은 개선되지 않았습니다. 아래는 우리 포럼의 ./discourse-doctor 로그입니다. 몇 가지 조언을 얻고 싶습니다. 감사합니다!

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 17.10.0-ce, build f4ffd25

DOCKER PROCESSES (docker ps -a)

CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                                      NAMES
ddfb2222fd64        local_discourse/app   "/sbin/boot"        10 days ago         Up 10 days          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

ddfb2222fd64        local_discourse/app   "/sbin/boot"        10 days ago         Up 10 days          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

Discourse container app is running


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git

No non-official plugins detected.

See https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb for the official list.

========================================
Discourse 2.6.0.beta2
Discourse version at localhost: Discourse 2.6.0.beta2 


==================== MEMORY INFORMATION ====================
RAM (MB): 16434

              total        used        free      shared  buff/cache   available
Mem:          16048        5605         919        4255        9523        5850
Swap:          2047         437        1610

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem                 Size  Used Avail Use% Mounted on
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /var/lib/docker/aufs
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /var/lib/docker/plugins
/dev/disk/by-label/DOROOT  315G  132G  168G  45% /

---------- Container Disk Space ----------
unknown shorthand flag: 'w' in -w
See 'docker exec --help'.


==================== DISK INFORMATION ====================
Disk /dev/vda: 320 GiB, 343597383680 bytes, 671088640 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 29B528BA-16C4-402E-BEE9-53555C8B6F10

Device     Start       End   Sectors  Size Type
/dev/vda1   2048 671086591 671084544  320G Linux filesystem

==================== END DISK INFORMATION ====================

안녕하세요, 저도 동일한 문제를 겪고 있습니다. 이로 인해 메가토픽을 분할할 수 없습니다.
안전 모드에서도 시도해 보았지만, 아무런 변화가 없었습니다.

제 개발용 Discourse 설치 환경에서는(동일한 버전 2.6.0.beta2) 문제가 발생하지 않습니다.
로그에도 아무런 기록이 없습니다.

1년째 502 에러가 계속되고 있어요 ;(

아직 물어보지 않은 것 같네요: 어떤 플러그인을 사용 중이신가요?

플러그인 관련 버그인지 확인하기 위해 모든 플러그인을 비활성화했습니다. 긴 스레드에서 안정적으로 재현되는 것으로 보입니다.