이 내용에 대해 검색을 시도해 보았지만 최근에 게시된 내용을 찾지 못해서, 무엇이 정상적이고 기대할 수 있는 것인지 확인하기 위해 질문을 남깁니다.
최근 다른 포럼에서 넘어왔는데, 첫 번째 페이지 로딩은 비교적 빠른 편입니다. 하지만 Discourse에서는 페이지가 로드된 후에도 페이지가 렌더링될 때까지 회전하는 원형 로딩 인디케이터가 표시되는데, 이것이 서버 지연인지, 아니면 서버에서 반환된 결과를 기반으로 클라이언트/JS가 페이지를 구성하는 데 걸리는 지연인지 확실하지 않습니다.
지연 시간은 약 5~10초 정도이며, 그 이후에는 일반적으로 성능이 좋은 편입니다.
이 문제가 서버/호스팅 쪽에 있을 가능성이 크다면, 일반적인 원인은 무엇일까요? 모든 지표(CPU, 디스크, 메모리)가 낮게 나타나고 최대치에 도달하지 않은 것 같아서, 결과가 서버와 실제로 관련이 없다면 어디에 예산을 투자해야 할지 모르겠습니다. Discourse가 무엇에 시간을 소비하고 있는지 보여줄 수 있는 모니터링하거나 관찰할 수 있는 지표에 대한 팁이 있을까요?
사실 서버가 콜드 상태가 되고, 꽤 오랜 시간 동안 새로고침이 이루어지지 않은 페이지를 요청하는 것과 더 비슷합니다. 백엔드 부분이 휴면 상태로 전환되거나 하는 건가요? 즉, 사용 빈도가 낮으면 첫 번째 사용자가 보통보다 조금 더 오래 기다려야 할 가능성이 있는 건가요?
30명이라고 하셨을 때, 동시 접속자를 의미하시나요, 아니면 전체 사용자 수를 말씀하시는 건가요?
만약 동시 접속자가 30명이라면, 현재 사양이 다소 낮을 수 있습니다.
평균 메모리 사용률은 어떻게 되나요? 30-50-80% 정도인가요?
우연히 GA(구글 애널리틱스)의 속도 및 성능 차트를 보고 있었는데, 2.2에서 2.9로 업그레이드한 이후로 변화가 있는 것 같아 보입니다. 성능이 오히려 떨어졌는데, 좀 더 자세히 살펴봐야 할 것 같습니다. 개인적으로는 체감할 만한 속도 저하가 없었고, 오히려 더 빨라진 느낌입니다. 그래서 저는 무엇을 아는 건가요, 아니면 GA가 더 잘 아는 건가요, 헷!
또한 토픽당 10,000개의 게시물 제한에 대해서도 읽었습니다. 게시물이 많으면 화면에 표시하기 전에 전체를 메모리에 로드해야 한다고 생각하는데, 이 과정 때문에 처음 볼 때 느리게 느껴지는 것 같습니다.
한 번 로딩이 끝나면 그 뒤로는 전부 빠르다고 느낍니다. 저는 전문가가 아니지만, 브라우저 문제일 수도 있고, 디스코urs(Discourse) 경험을 전달하기 위해 사용된 다양한 기술적 요인 때문일 수도 있다고 생각합니다.
드디어 개발자 도구를 열어 몇 가지 오류 메시지를 확인했습니다… a) 폰트가 없거나 찾지 못하는 것 같고, b) 올바른 FQDN 대신 IP를 사용하고 있는데, 이 IP가 정확한지 확실하지 않습니다.
The FetchEvent for "https://35.212.139.150/fonts/Roboto-Regular.ttf?v=0.0.9" resulted in a network error response: the promise was rejected.
Promise.then (async)
(anonymous) @ Router.mjs:60
The FetchEvent for "https://35.212.139.150/fonts/Roboto-Bold.ttf?v=0.0.9" resulted in a network error response: the promise was rejected.
Promise.then (async)
(anonymous) @ Router.mjs:60
NetworkFirst.mjs:167 Uncaught (in promise) no-response: no-response :: [{"url":"https://35.212.139.150/fonts/Roboto-Regular.ttf?v=0.0.9"}]
at a.makeRequest (https://community.hubivue.com/javascripts/workbox/workbox-strategies.prod.js:1:2145)
makeRequest @ NetworkFirst.mjs:167
color_definitions_light_4_1_530ebcc4a553d42866a6f343d784841cf5c0b816.css:1 GET https://35.212.139.150/fonts/Roboto-Regular.ttf?v=0.0.9 net::ERR_FAILED
NetworkFirst.mjs:167 Uncaught (in promise) no-response: no-response :: [{"url":"https://35.212.139.150/fonts/Roboto-Bold.ttf?v=0.0.9"}]
at a.makeRequest (https://community.hubivue.com/javascripts/workbox/workbox-strategies.prod.js:1:2145)
makeRequest @ NetworkFirst.mjs:167
color_definitions_light_4_1_530ebcc4a553d42866a6f343d784841cf5c0b816.css:1 GET https://35.212.139.150/fonts/Roboto-Bold.ttf?v=0.0.9 net::ERR_FAILED