멀티미디어 섬네일 때문에 애드온을 통해 섬네일을 생성합니다.

 

그런데 같은 게시판의 목록이라도 과거 이미지가 문서에 첨부까지 되도록 해서 작성된 게시글이 모여있는 목록 페이지와 첨부이미지 없이 유튜브섬네일이미지를 불러와서 섬네일을 생성하게 만든  게시글이 모여있는 페이지 두가지 의 처리 속도가 현저하게 차이가 납니다.

 

게시글에 첨부이미지 없이 매칭되는 외부이미지를 불러와(이용해) 섬네일을 만들어내어 문서의 섬네일로 매칭 등록한 문서의 경우 이후 목록에서 섬네일을 찾아 화면에 뿌려주는 동작이 현저하게 느림이 확인이 됩니다.

 

이 두가지가 코어에서 구조적으로 아예 다른 섬네일 확인과정이 필요해서 이렇게 차이가 나는건지 궁금하네요.

 

이미 매칭되어 있는 섬네일을 빠르게 불러올 방법은 없는거가요?

 

이게 혹시 첨부를 한경우도 대표이미지 설정을 모든 게시물에 일부러 특정이미지에 한 경우 똑같은 상황이 벌어지는거 아닐까요?

  • profile

    최신 XE 코어 기준으로 첨부이미지가 없으면 본문에서 <img> 태그를 검색하고, 목록 화면이라서 content 필드를 불러오지 않았다면 DB에서 불러온 후 검색하도록 되어 있습니다. 원하는 크기의 섬네일 파일이 이미 존재한다면 그냥 그 파일명을 반환하면 되는데... 순서가 잘못되어서 content 체크를 먼저 하도록 되어 있네요. (이제 보니 라이믹스도 마찬가지군요;;) 이것 때문에 불필요한 DB 쿼리가 발생할 가능성이 있습니다.

     

    단, 섬네일을 처리하는 애드온이 따로 있다면 위에서 언급한 코어의 비효율적인 처리 순서뿐 아니라 그 애드온에서 추가로 지연이 발생할 가능성도 있습니다.

  • profile profile

    일단 생성된 이후에 처리하는 부분 영향 없도록 애드온을 꺼봤습니다. 속도는 여전히 동일하게 느렸습니다. 애드온을 끄면 차이는 섬네일을 위해 넣었던 img 태그가 본문에서 노출되는 정도의 차이입니다.

    따라서 언급하신 코어에서 섬네일을 가져오는 것에 차이로 시간차이가 많이 나는것 같습니다. 최근에 변경되어서 제가 지금 발견한 것일 수도 있겟네요.

     

    이거 속도가 너무 떨어져서 빠른 처리가 되면 좋겠네요...  라이믹스 고치시면서 XE도 도와주세요~~

  • profile profile

    https://github.com/xpressengine/xe-core/blob/develop/modules/document/document.item.php#L827

    일단 이 부분의 조건을 if(false) 등으로 바꿔서 827~842줄의 코드가 실행되지 않도록 만들어 보세요. 만약 이렇게 했을 때 속도가 빨라진다면 위에서 제가 말씀드린 것이 문제라는 뜻이고, 만약 이것으로 해결되지 않는다면 다른 데서 원인을 찾아야겠습니다. 임시조치이니 테스트 후에는 원래대로 돌려놓으시고요~

     

    841줄이 문제일 수도 있겠다는 생각이 드네요. 썸네일을 생성하지 않고 그냥 return해버리니...

  • profile profile
    말씀하신대로 테스트 해봤는데 여전히 속도가 느리네요. 첨부가 없는 글만 모여있는 페이지에서만요.
  • profile profile
    흠.. 그러면 잘 모르겠네요. 스킨 쪽에서 뭔가 불필요한 작업을 하는 것일 수도 있고...
  • profile profile
    스킨쪽에서는 섬네일 경로를 백그라운드이미지로 사용하는데 이러면 차이가 발생할까요?
  • profile profile
    글쎄요... thumbnailExists() + getThumbnail() 조합으로 사용하는 것은 다른 스킨과 마찬가지 아닌가요? 섬네일 파일도 이미 모두 생성되어 있을 테고요.
  • profile profile
    네. 엘리먼트에 백그라운드 이미지로 쓰는 것 외에는 차이가 없습니다. 단지 목록에 이런 글이 많으면 느려진다는거죠. 섬네일은 게시글 등록시 잘 생성되어 잘 이용되고 있습니다.
  • profile profile
    이거 체크하다가 우연히 모바일에서 섬네일이 하나도 캐시가 안된거 발견하게 되었네요 ㅋ
    백그라운드로 이미지를 불러오고 있었던걸 몰랐군요. 스킨에서 캐시서버쪽 이미지로 변경처리 했네요.

    엉뚱한 것 해결하는 소득은 있었습니다 ㅋ
  • profile profile

    이문제는 섬네일 문제는 아닌 듯 합니다. 모바일에서 첫페이지 부터 3페이지 정도까지만 느린 현상인데 이게 유튜브만 올리는 게시판에서만 나타나는 증상이라 그리고 4페이지 부터는 첨부를 가지고 있어서 그렇게 판단을 했던건데요.

    최근 글을 첨부를 가지도록 해서 섬네일을 다시 만들게 해서 해 봐도 여전히 느리네요. 원인을 찾기 쉽지는 않을 것 같습니다.

    첨부를 가지도록 해야할지 아니면 그냥 첨부 없이 섬네일만 가지도록 해야할지 판단이 안서는 상황이네요.

  • profile profile
    어디서 느려지는지를 정확하게 찾아야죠... 디버그를 찍어보든지...
  • profile profile

    지금 새로 발견한 차이점이 새롭게 유튜브를 링크하는 방식을 사용하면서 본문에 유튜브주소가 남게 되는 방식인데요. 이렇게 본문(요약)에 유튜브주소를 다 가지고 있는 목록들입니다. 빠른 4페이지 부터는 예전방식으로 등록된 게시글이라 이 url 이 없는데요.

    이 차이가 코어에서 본문을 요약을 불러와 처리하는데 느려지는 요소가 있을까요? 웹진형태라 본문 요약에 첫부분 등장하는 url이 모든 글에 있습니다.

     

    {$document->getSummary($mi->content_cut_size)}

     

    이렇게 출력하고 있습니다.

  • profile profile
    요약 출력하는 함수가 특별히 무거운 처리를 거치지는 않는 것으로 알고 있습니다만, 스킨에서 해당 부분을 잠깐이라도 빼보면 그게 속도 느려지는 원인인지 아닌지 알 수 있겠네요.
  • profile profile
    정확했습니다! 그부분을 제거하고 다른 문자로 대체하니 엄청 빠른 출력이 나옵니다. 모든 페이지 속도가 같구요. url 들어간 본문을 요약에서 가져오는데 뭔가 보안필터에 시간이 지체되는 듯 한 상황이네요. 컴에서는 못느낄 정도인데 모바일에서는 지체가 큰거로 보아 버그일 수도 있을 것 같습니다.
  • profile profile

    이미지 같은 것 없이 간결한 목록으로 3개정도 게시물에 url 넣고 요약 포함해서 목록 출력 시키니 랙이 생기네요. 뭔가 작업을 하고 난 후 출력이 됩니다. 이게 그런데 모바일에서만 지연되는게 체감이 됩니다. 모바일 버그인지 PC는 보다 속도가 빨라서 제가 느끼지 못하는 것인지 잘 모르겠네요.

    url이 요약에 없는 페이지들은 빠르게 출력이 되네요.

    라이믹스도 동일하네요. 람보님 사이트에 유튭영상 게시판이 있어 url이 있는 문서가 있는 페이지 없는 페이지 응답속도가 다르네요. 모바일에서요.