임베드파싱모듈 속도 및 멈춤 질문 드립니다.
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.4 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
안녕하세요.
윤삼님/람보님께서 개발해주신 임베드파싱모듈을 사이트에 설치해서 사용중인데 아래와같은 이슈가 있는듯해서 질문드립니다.https://xetown.com/download/729179
아마 본문/댓글에 링크가 많은경우에 링크를 파싱하는 과정에서 서버와 오래 통신하면서 댓글도 안달리고 페이지 이동도 안되는 문제가 있습니다.
임베드 파싱모듈의 속도를 빠르게하는방법이나 사용자에게 영향(댓글을 달려고하면 페이지가 멈춤..)이 안가게하는방법이있을까요??
현재 오브젝트캐시/DB저장 모두 사용하고있는데도 그렇습니다..ㅠㅠ
상항 발생하는건 아니고 파싱이 빨리될때도있고,, 늦게될때도있고,, 늦게될때 발생합니다
현재 해당이슈로 모듈을 정지시켜놓은 상태로 테스트페이지에서만 재현가능합니다.
https://svrforum.com/test/336135
오래걸리면 이렇게 타임아웃도 나옵니다 ㅠ
karius
Lv. 4
댓글 8
중간 처리 과정을 보면 진짜 무겁습니다.
이미지 크기에 따라서 최소 수십KB에서 수백KB짜리 텍스트가 DB에 저장됩니다. base64로 인코딩하는 과정에서 원래의 이미지 파일 크기보다 50% 이상 커지죠. 그리고 그걸 또 다시 serialize로 인코딩하죠..
딴건 가만 놔두고 이미지를 db에서 저장하는 부분만 덜어내면 확 가벼워질겁니다.
그렇군요.... ㅠㅠ
궁금한점은 캐시로 이미 해당 url이 저장되면 불러오는데 속도차이는 없어야할것같은데
그때그때 불러오는 속도가 다릅니다.(서버에 요청중입니다... // 파싱이 됐다/안됐다 하는부분..)
+파싱이 안되서 무한로딩이 걸리는경우...
이건 왜그럴까요??
그 캐시라는게.. 말씀드린 이유로 차라리 없는 것만 못한 수준이라고 보시면 될겁니다...
음.. 그렇게 파싱이 느린 경우에는 화면에 표시된 사이트 설명에서 이미지 파일 크기가 얼마나 되는지 한번 체크해보세요. 아마 이미지 파일 크기가 상당히 클겁니다. 최소 수백KB 수준?
https://melonicedlatte.com/web/2020/01/27/000100.html
이 글을 한번 읽어보세요. 이미지를 base64로 인코딩해서 디비에 넣는게 얼마나 무거운 동작인지 설명하고 있습니다. 이 글을 쓴 사람도 비슷한 식으로 만들었다가 2~5초씩 걸려서 힘들었다고 하고 있지요?
https://velog.io/@windsekirun/Android-Base64-Performance-Benchmark
이건 base64 인코딩 테스트를 갤럭시 S8에서 한건데... 1.2MB짜리 이미지 파일을 Base64로 바꾸는데 6초가 걸립니다. x86에서 테스트한걸 못찾긴 했는데.. 서버가 훨 빠르긴 할테지만 어쨌든 파일 크기에 따라서 초단위로 걸리는 작업인걸 알 수 있습니다. 아까도 설명드렸다시피 이걸 다시 serialize/unserialize 하는 과정도 있어서 더욱 느려지구요... 뭐 그렇다고해서 ajax가 실패까지 날 정도로 느릴 것 같지는 않지만... 서버 상태에 따라선 충분히 실패도 가능할 것 같습니다.
업데이트 소식게시판에 업로드 해드렸으니 확인해보세요