서버 부하가 많이 걸리는 방식인가요? 제작 의뢰를 해볼 참인데..

 

1. 읽어야 할 글 : 기능은 아래 xe 공홈 참조

https://xe1.xpressengine.com/devlog/22969908

2. 해시태그 추천기능 : 기존에 사용한 해시태그들 중에서 찾아서 비슷한걸 추천해주는 기능

3. 닉네임 완성기능 : 단순 닉네임 검색기능 말고... @ki 이렇게 치다보면 사이트에 가입된 회원 닉네임중에서 찾아서

@kijin 이렇게 완성되는 기능. (github에 이 기능이 있죠?)

 

완전히 이런 기능들은 제작자 능력에 따라 다른건지 아니면 그런 걱정 없이 보편적으로

그냥 의뢰하고 운명에 맞겨도 되는건지

제작 의뢰에 앞서서 여쭤 봅니다.

 

  • profile

    1번은 비교적 간단한 기능입니다. 최근에 읽은 시각보다 해당 글의 last_update가 더 나중이고, 작성자나 last_updater가 내가 아닌 경우 표시해 주면 되니까요.

     

    2번은 무엇을 기준으로 어떤 해시태그를 추천해 주는지가 관건입니다. 사이트에서 한 번이라도 해시태그로 사용된 적이 있는 단어가 본문에 포함되어 있으면 추천해 주는 건가요? 예를 들어 위의 글에서는 #제작자, #비슷한걸, #맞겨도 (오타ㅋㅋ) 등의 해시태그가 추천되는 걸까요?

     

    3번은 키보드 입력을 할 때마다 실시간으로 닉네임 목록을 불러와야 하기 때문에 다른 기능들보다 난이도가 높습니다. 매번 ajax로 DB를 쿼리한다면 렉과 서버 부하를 감당하기 어려울 수도 있어요.

     

    다른 두 가지도 대강 개발하면 성능이 엉망으로 나올 수 있습니다. 링크하신 공지에서도 1번 기능에 캐시를 적용했다고 하네요. 글의 last_update는 이미 불러온 상태이니 최근에 읽은 시각을 캐시 처리했다는 뜻이겠죠? 이 부분을 대강 만들면 목록 화면의 글 수만큼 쿼리를 해야 하는 참사가 발생합니다. 실제로 많이 쓰이는 애드온들 중 목록 화면의 글 수만큼 쿼리를 하는 무시무시한 것들이 여러 개 있어요. 그런 애드온 3개만 설치하면 무려 60개의 쿼리가 발생합니다 ㄷㄷㄷ 2번은 해시태그 갯수가 많은 경우 어떻게 불러와서 어떻게 검색하느냐가 문제고요.

  • profile ?
    • skyo
    • 질문기여자
    헐.... 겉으로 보여지는 기능만 구현했다가는 큰일 날것 같고, 제가 내부 코드를 볼줄 모르니 혹시나 해서
    문의 드린건데...뭔가 찜찜하더라니...... 감사합니다.
  • profile
    ㅎㅎ 의뢰를 하려고 하셨군요. 이제야 이글을 보다니 ㅡ.,ㅡ! ^^
  • profile ?
    • skyo
    • 질문기여자
    ^^. 제가 구름이님 모듈을 보고 환호한 이유죠!!

    그나저나 1번 구현을 이제 해야 하는데 까먹고 있었네요...
  • profile profile
    이렇게 서버 부하가 늘 걱정이었는데 대체 어떤 비결이 있으셨던 건가요?
  • profile profile
    특별한건 없어요 ㅎ