느려진노스모크

FrontPage|FindPage|TitleIndex|RecentChanges| UserPreferences P RSS
얼마전부터 노스모크가 점점 느려지더니 이제는 급기야 "바뀐글" 한번 리로드하는데 30분이 걸리고 있습니다. 이거 왜 이런 거죠? 어떻게 해야하나요?

Donno, since it loads in a sec(well, one or two) for me.

아직도 그대로네.. 비놀리아 속도.. 흑.. 제대로 돌아올 시간도 됐건만... 아까 visualroute를 다운받아 실행한 다음에.. 뭘 어떻게 하라고 하셨었죠? 근데 네트워크 문제가 아닌 것같은 것이.. 왜 노스모크만 그런지 모르겠어요.. 다른 사이트들은 괜찮거든요.

저의 경우 ADSL 라이트 급을 사용중인데 확실히 "바뀐글" 로딩시간이 이전후 초기보다 요새 느려졌다는 감을 받았습니다. 약 9-11초 정도 걸리네요. --CyberLaw

만약 북마크를 제대로 사용한다면 로딩 속도가 훨씬(3-4배) 빨라집니다. 바뀐글은 기본적으로 사용자들이 북마크를 제대로 사용한다는 가정하에 구성된 겁니다. 북마크를 제대로 사용하는 사람은 화면에 new나 updated 같은 아이콘의 갯수가 몇 개 안됩니다. 북마크사용법을 보고 공부하세요. (어찌되었건, 시간이 나는대로 최적화 -- 속도 향상 -- 작업을 하겠습니다.)

게다가 어제부터는 글씨가 깨지는 일이 다반사.. 이런 일도 없었는데.. 왜 이러는 걸까요?
노스모크에 불운한 전조가 드리우나 봅니다. 이제 또 다른 엑소더스가 필요한가
경비는 얘기가 길지만 어쨌든 전 ?틈臼㈎?.^^ --천페이지파티후기
손가락을 살살 q아주었다 --내가사랑하는동물

몇개더 있었는데.. 어디서 봤는지 못찾겠다..

비주얼루트 상당히 쿨하군요. 말씀하신대로 해봤는데 네트워크 문제 맞는 것같습니다. 그러나 (제가 잘 모르긴해도 결과를 그냥 보니깐..;;) 이곳 학교네트워크의 문제가 아니라 여기서부터 노스모크까지 가는 과정에서 그 중간에 거쳐가는 수많은 곳들 중 그곳의 네트워크 회사 이름인듯한 KRNIC, 요기에 문제가 많은 것같더군요. 아마도 우리의 호스트인 hwk.co.kr에서 이용하고 있는 전용선 네트워크의 문제가 아닐까 생각해봅니다.

또다시 접속불가.. 이제는 1시간이 넘게 기다려도 페이지 안열림..흑.. 이거 한번 이러면 하루이틀 가더만.. 나의 노스모크 역사는 역시 여기서 마감하는가...

비주얼루트로 가장 병목이 심한 부분(서버의 주소)을 보고해 주세요.

테이블 캡쳐하여 보냈습니다.

timestamp를 며칠동안 찍지않고 그냥 왔다갔다 했더니 급기야는 RecentChanges가 뜨는데 2~30초 씩 걸리더군요. timestamp찍으니가 말끔하게 사라지네요. --Kwon
저는 그래서 가끔 timestamp를 없애는게 어떻나 하는 생각도 합니다. -_-; -- 환이
그보다는 timestamp의 값에 제한을 두는 것이 좋겠습니다. 시스템을 설계할 때 boundary가 어떻게 될 것인지 정확히 예측하고 그에 대한 준비가 필요합니다. 그에 맞지 않는 값이 나타나면, 기준에 맞추어 버리면 되는 것이죠. timestamp를 최대 10일 정도로 설정하여 그 이전에 북마크 했다면 10일 전에 북마크한 것으로 임의로 간주해 버리는 방법이 있습니다. 제가 체크해 보니, 16일 낮 12시 35분 현재 RecentChanges 페이지가 나타나는데 평균 5.7초, 최대 6.2초가 걸리는군요. 이 속도는 KIDC에 위치한 서버에서 측정한 것이기 때문에 다른 분들은 네트워크 전송속도 문제로 더 느리게 나타날 겁니다. 페이지의 사이즈도 109KB로 보통 HTML보다 10~20배는 큰 편입니다. 모뎀을 쓸 경우, 데이터 전송에만 20초가 걸리는 분량입니다.
apache가 설치된 Linux서버에서 /usr/sbin/ab -c 3 -n 10 "http://no-smok.net/nsmk/RecentChanges" 명령을 사용해 보세요. 페이지 뜨는 속도를 정확히 재어 줍니다. --Aragorn

서버가 붐빌 때의 서버 상태, 그러니까 vmstat 결과와 top 화면 정도를 보여주시면 서버 튜닝에 도움을 드릴 수 있을 것 같네요. 뭐 그래봐야 이건 어쩔 수 없는 문제라고 결론날 가능성이 높지만. -_-;;;
vmstat 2 정도의 명령으로 2초간격으로 상태를 출력하여 2분 정도, 그러니까 60라인 정도 화면을 캡쳐해서 보내어 주시면, 서버 상태를 파악할 수 있습니다. top은 CPU를 점유하는 프로세스가 어떤 녀석인지, 그 프로세스가 메모리는 얼마나 쓰는지, 생성된 후 CPU는 얼마나 사용했는지 등을 파악하는데 쓰입니다.

이 외에 살펴볼만한 것으로는 서버가 붐빌 때의 apache server-status가 있겠네요. server-status 페이지가 기본으로는 막혀 있는 상태일텐데, ExtendedStatus설정을 On으로 하여서 server-status 화면을 캡쳐해 주시면 apache 서버의 문제를 잡아낼 수 있습니다.

현재 추측으로는 문제의 원인은 서버 CPU가 모두 고갈되고 디스크IO가 많은 것이 주원인이기 때문에 서버를 더 좋은 사양으로 옮기거나, 노스모크 모인모인을 지금보다 많이 개선하는 수밖에 없을 것 같네요. --Aragorn

timestamp를 처음부터 아예 찍지 않는 방법도 있습니다.

[2003년 12월 초]:

어제 오늘 RecentChanges가 잘 안뜹니다. 저만 그런 건가요? --헌터D
그런 경우에는 http://no-smok.net/ns/moin.cgi/ 으로 접속해 보세요.
ThankYou 그런데 무슨 차이가 있는 거죠? --헌터D
저도 이유는 잘 모르겠습니다만, 우연히 그 주소로 들어가 보니, 제대로 작동을 하더군요. 잦은 접속으로 인해서 그 페이지로 가는 길을 누군가(접속자나 제공자의 회선 제공자)가 막아놓아서 그런 것은 아닐까 생각해 봅니다. --최종욱
.htaccess를 거치지 않았기 때문일까요? --PuzzletChung
&은&눈에 비친 차이점은 로그인을 하지 않았다는 것과 따라서(?) 북마크가 없다는 것, 이 두가지입니다. 만약 로그인을 한 경우라면, 북마크 관련 데이타의 크기가 작은 상태라 볼 수 있을 것 같습니다. 이 비스무리하게 결론을 짓자면 북마크 관련한 가비지가 무진장 많이 쌓여있다는 게 아닐까요? --맑은

파이썬이 시스템 자원을 많이 잡아먹고 그래서 느려지는게 아닐까요.. PHP 기반 위키로 옮겨 가는게 어떨까요? 아무래도 웹에서는 PHP가 빠르고 고효율적으로 보이던데.. --Purple
동의한표. 하드디스크 부하가 큰 것은 캐쉬로 어느 정도 해결이 되지 않을까 생각합니다만... --최종욱

RecentChangesQuoteFortuneMacro를 삽입한 뒤 눈에 띄게 느려졌음을 익히 피부로 느끼고 있었습니다. 그것이 이유가 될지 어떨지야 모르지만 시점상 말이죠. 그 이후 시스템 다운 현상도 잦아진 것 같고요. 어떤 변화와 연계시켜 본다면 QuoteFortuneMacro를 한 번 의심해 볼만하다 생각합니다. 그 자체로서도 문제가 없어야겠지만 RecentChangesQuoteFortuneMacro가 합쳐졌을 때 시스템에 영향을 끼칠만한 어떤 요인이 없는지를 검토해 봤으면 하고, 이미 검토해 본 것이라면 한 번 더 확인사살 바랍니다. --맑은

프로파일링에 서툴러서 정확하게 측정하지 못하고 있습니다. 단순한 직관으로는, 그 둘이 서로 영향 끼칠 만한 요소가 보이지 않습니다. 아마도 RC가 원래 종종 느려져서 그런게 아닐지. --희상 ps. editlog를 100개만 남기고 지웠습니다. 원래 1000개만 남기고 지우려고 했는데 실수로 0을 하나 빼먹는 바람에;

RecentChangesQuoteFortuneMacro를 집어 넣었던 주범이 저지요. 그래서 그 이후 느려진노스모크를 보았을 때 찔끔하지 않을 수 없었답니다. 그래서 기억을 하지 않을 수 없었던 바 마침 느려진노스모크 페이지를 보니 그 때 기억을 메모해 두면 티끌만큼이나마 도움이 될까 싶었던 건데... (음, 도움이 안됐구만. 아, 덥다) :( --맑은

조금 빨라졌어요. 어제(2004.08.10) 위의 댓글을 쓸 때만 해도 분명히 느렸었거든요. 지금(2004.08.11)은 빨라졌음을 느끼고 있습니다. 이상 보고 끝. --맑은


"; if (isset($options[timer])) print $menu.$banner."
".$options[timer]->Write()."
"; else print $menu.$banner."
".$timer; ?> # # ?>