먼저 제 사이트는 Rhymix 1.9.9.2이며, 사이트에 맞게 약간 커스터마이징 되어 있습니다.

서버는 vultr에서 Cloud instance 4코어/8GB RAM 사용 중입니다.

최근 TTFB 관련 체크하는 중 알 수 없는 이상한 현상이 발견되어 질문합니다.

위젯 페이지, 일반 문서 페이지, 게시판 목록에서는 느려지는 현상이 발생하지 않습니다.

하지만 게시판의 게시물 보기 페이지에서만 요청 시간이 2~3초씩 뜁니다.

계속 그런거면 몰라도 가끔씩 그런 현상이 발생합니다.

또, 동일 소스에 동일한 설정이 되어있는 테스트 서버에서는 그런 현상이 전혀 없다는 것이 이상합니다.

DB 쿼리 시간이나 특정 요소에서 느린 것이 발견된다면 그 부분을 수정하면 될텐데, 그런 것도 전혀 발견되지 않습니다.

 

 

정상.png

 

3초.png

 

아래는 전체 디버깅 정보입니다.

사이트 주소나 IP주소는 별표처리 하였습니다.

 

[2019-07-08 02:51:12]

Request / Response
==================
Request URL:         https://*******.***/****/2786299
Request IP Address:  ***.***.***.***
Request Method:      GET
Request Body Size:   0
Response Method:     HTML
Response Body Size:  128256

Page Generation Time
====================
Total Time:              3.1514 sec
Template Compile Time:   0.0697 sec (count: 27)
XML Parsing Time:        0.0001 sec
DB Query Time:           0.0308 sec (count: 25)
DB Processing Time:      0.0059 sec
Layout Processing Time:  0.0152 sec
Widget Processing Time:  0.0053 sec
Remote Request Time:     0.0000 sec
Content Transform Time:  0.0013 sec

Resource Usage
==============
Peak Memory Usage:  4.0 MB
Included Files:     249

Debug Entries
=============
None

PHP Errors and Warnings
=======================
01. Warning: Creating default object from empty value
    - widgets/uchat2/uchat2.class.php line 7
    - modules/widget/widget.controller.php line 390
    - modules/widget/widget.controller.php line 471
    - modules/widget/widget.controller.php line 288
    -  line 0
    - modules/widget/widget.controller.php line 266
    - modules/widget/widget.controller.php line 250
    - classes/module/ModuleHandler.class.php line 1301
    - classes/display/DisplayHandler.class.php line 63
    - classes/module/ModuleHandler.class.php line 1126
    - index.php line 52

Database Queries
================
01. SELECT `modules`.*  FROM `rx_modules` AS `modules` , `rx_documents` AS `documents`   WHERE `documents`.`document_srl` = ? AND `modules`.`module_srl` = `documents`.`module_srl`     
    - Caller:      modules/module/module.model.php line 172 (moduleModel->getModuleInfoByDocumentSrl)
    - Connection:  master (localhost)
    - Query ID:    module.getModuleInfoByDocument
    - Query Time:  0.0008 sec
    - Result:      success
02. SELECT `readed_count`, `voted_count`, `blamed_count`, `comment_count`, `trackback_count`  FROM `rx_documents` AS `documents`   WHERE `document_srl` = ?     
    - Caller:      modules/document/document.item.php line 113 (documentItem->_loadFromDB)
    - Connection:  master (localhost)
    - Query ID:    document.getDocument
    - Query Time:  0.0004 sec
    - Result:      success
03. SELECT *  FROM `rx_document_extra_vars` AS `extra_vars`   WHERE `extra_vars`.`module_srl` >= -1 AND `extra_vars`.`document_srl` IN (?) AND `extra_vars`.`var_idx` >= -2     
    - Caller:      modules/document/document.model.php line 42 (documentModel->getDocumentExtraVarsFromDB)
    - Connection:  master (localhost)
    - Query ID:    document.getDocumentExtraVars
    - Query Time:  0.0002 sec
    - Result:      success
04. SHOW TABLES LIKE 'rx_pointhistory'
    - Caller:       line 0 ()
    - Connection:  master (localhost)
    - Query ID:    document.getDocumentExtraVars
    - Query Time:  0.0004 sec
    - Result:      success
05. START TRANSACTION
    - Caller:       line 0 ()
    - Connection:  
    - Query ID:    
    - Query Time:  0.0000 sec
    - Result:      error 0 
06. UPDATE  `rx_documents` AS `documents`  SET `readed_count` = ?  WHERE `document_srl` = ?
    - Caller:      modules/document/document.controller.php line 1302 (documentController->updateReadedCount)
    - Connection:  master (localhost)
    - Query ID:    document.updateReadedCount
    - Query Time:  0.0004 sec
    - Result:      success
07. COMMIT
    - Caller:       line 0 ()
    - Connection:  
    - Query ID:    
    - Query Time:  0.0000 sec
    - Result:      error 0 
08. SELECT `documents`.`title`, `documents`.`nick_name`, `documents`.`regdate`, `documents`.`readed_count`, `documents`.`voted_count`, `documents`.`is_notice`, `documents`.`document_srl`, `documents`.`module_srl`, `documents`.`category_srl`, `documents`.`lang_code`, `documents`.`member_srl`, `documents`.`last_update`, `documents`.`comment_count`, `documents`.`trackback_count`, `documents`.`uploaded_count`, `documents`.`status`, `documents`.`title_bold`, `documents`.`title_color`  FROM `rx_documents` AS `documents`   WHERE ( `module_srl` IN (?) AND `is_notice` = 'Y' ) AND `list_order` <= 2100000000     ORDER BY `list_order` ASC 
    - Caller:      modules/document/document.model.php line 301 (documentModel->getNoticeList)
    - Connection:  master (localhost)
    - Query ID:    document.getNoticeList
    - Query Time:  0.0014 sec
    - Result:      success
09. SELECT *  FROM `rx_document_extra_vars` AS `extra_vars`   WHERE `extra_vars`.`module_srl` >= -1 AND `extra_vars`.`document_srl` IN (?,?,?,?) AND `extra_vars`.`var_idx` >= -2     
    - Caller:      modules/document/document.model.php line 42 (documentModel->getDocumentExtraVarsFromDB)
    - Connection:  master (localhost)
    - Query ID:    document.getDocumentExtraVars
    - Query Time:  0.0007 sec
    - Result:      success
10. SELECT count(`document_srl`) AS `count`  FROM `rx_documents` AS `documents`   WHERE `module_srl` IN (?) AND `status` IN (?,?) AND ( `list_order` <= ? )     
    - Caller:      modules/document/document.model.php line 602 (documentModel->getDocumentPage)
    - Connection:  master (localhost)
    - Query ID:    document.getDocumentListPage
    - Query Time:  0.0018 sec
    - Result:      success
11. SELECT *  FROM `rx_documents` AS `documents`   WHERE ( `module_srl` = ? AND `is_notice` = ? AND `status` IN (?,?) ) AND `documents`.`list_order` <= 2100000000     ORDER BY `documents`.`list_order` asc  LIMIT 20
    - Caller:      modules/supercache/supercache.model.php line 421 (SuperCacheModel->getDocumentList)
    - Connection:  master (localhost)
    - Query ID:    supercache.getDocumentList
    - Query Time:  0.0008 sec
    - Result:      success
12. SELECT *  FROM `rx_document_extra_vars` AS `extra_vars`   WHERE `extra_vars`.`module_srl` >= -1 AND `extra_vars`.`document_srl` IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) AND `extra_vars`.`var_idx` >= -2     
    - Caller:      modules/document/document.model.php line 42 (documentModel->getDocumentExtraVarsFromDB)
    - Connection:  master (localhost)
    - Query ID:    document.getDocumentExtraVars
    - Query Time:  0.0002 sec
    - Result:      success
13. SELECT *  FROM `rx_bookmarks` AS `bookmarks`   WHERE `url` = ? AND `member_srl` = ?     
    - Caller:      modules/bookmark/bookmark.model.php line 37 (bookmarkModel->getBookmarkByUrl)
    - Connection:  master (localhost)
    - Query ID:    bookmark.getBookmarkByUrl
    - Query Time:  0.0003 sec
    - Result:      success
14. SELECT *  FROM `rx_files` AS `files`   WHERE `upload_target_srl` = ? AND `isvalid` = ?     ORDER BY `file_srl` ASC 
    - Caller:      modules/file/file.model.php line 273 (fileModel->getFiles)
    - Connection:  master (localhost)
    - Query ID:    file.getFiles
    - Query Time:  0.0004 sec
    - Result:      success
15. select count(*) as "count" FROM `rx_comments` AS `comments` , `rx_comments_list` AS `comments_list`   WHERE `comments_list`.`document_srl` = ? AND `comments_list`.`comment_srl` = `comments`.`comment_srl` AND `comments_list`.`head` >= 0 AND `comments_list`.`arrange` >= 0
    - Caller:      modules/comment/comment.model.php line 522 (commentModel->getCommentList)
    - Connection:  master (localhost)
    - Query ID:    comment.getCommentPageList
    - Query Time:  0.0002 sec
    - Result:      success
16. SELECT `comments`.*, `comments_list`.`depth` AS `depth`  FROM `rx_comments` AS `comments` , `rx_comments_list` AS `comments_list`   WHERE `comments_list`.`document_srl` = ? AND `comments_list`.`comment_srl` = `comments`.`comment_srl` AND `comments_list`.`head` >= 0 AND `comments_list`.`arrange` >= 0   ORDER BY `comments_list`.`head` ASC, `comments_list`.`arrange` ASC  LIMIT 0, 50
    - Caller:      modules/comment/comment.model.php line 522 (commentModel->getCommentList)
    - Connection:  master (localhost)
    - Query ID:    comment.getCommentPageList
    - Query Time:  0.0002 sec
    - Result:      success
17. SELECT *  FROM `rx_bookmarks` AS `bookmarks`   WHERE `url` = ? AND `member_srl` = ?     
    - Caller:      modules/bookmark/bookmark.model.php line 37 (bookmarkModel->getBookmarkByUrl)
    - Connection:  master (localhost)
    - Query ID:    bookmark.getBookmarkByUrl
    - Query Time:  0.0034 sec
    - Result:      success
18. SELECT *  FROM `rx_bookmarks` AS `bookmarks`   WHERE ( `member_srl` = ? ) AND `list_order` <= 2100000000     ORDER BY `list_order` DESC 
    - Caller:      modules/bookmark/bookmark.model.php line 28 (bookmarkModel->getBookmarkList)
    - Connection:  master (localhost)
    - Query ID:    bookmark.getBookmarkList
    - Query Time:  0.0135 sec
    - Result:      success
19. select count(*) as "count" FROM `rx_adminex_memo` AS `adminex_memo`   WHERE `member_srl` = ?
    - Caller:      modules/adminex/adminex.model.php line 9 (adminexModel->getMemoList)
    - Connection:  master (localhost)
    - Query ID:    adminex.getMemoList
    - Query Time:  0.0006 sec
    - Result:      success
20. SELECT *  FROM `rx_adminex_memo` AS `adminex_memo`   WHERE `member_srl` = ?   ORDER BY `memo_srl` desc  LIMIT 0, 5
    - Caller:      modules/adminex/adminex.model.php line 9 (adminexModel->getMemoList)
    - Connection:  master (localhost)
    - Query ID:    adminex.getMemoList
    - Query Time:  0.0002 sec
    - Result:      success
21. SELECT * FROM ip_geolocation WHERE ipaddress = '***.***.***.***'
    - Caller:       line 0 ()
    - Connection:  master (localhost)
    - Query ID:    adminex.getMemoList
    - Query Time:  0.0002 sec
    - Result:      success
22. SELECT *  FROM `rx_editor_components` AS `editor_components`   WHERE `component_name` = ?     
    - Caller:      modules/editor/editor.model.php line 597 (editorModel->getComponent)
    - Connection:  master (localhost)
    - Query ID:    editor.getComponent
    - Query Time:  0.0017 sec
    - Result:      success
23. SELECT `modules`.*  FROM `rx_modules` AS `modules` , `rx_documents` AS `documents`   WHERE `documents`.`document_srl` = ? AND `modules`.`module_srl` = `documents`.`module_srl`     
    - Caller:      modules/module/module.model.php line 172 (moduleModel->getModuleInfoByDocumentSrl)
    - Connection:  master (localhost)
    - Query ID:    module.getModuleInfoByDocument
    - Query Time:  0.0026 sec
    - Result:      success
24. SELECT *  FROM `rx_point` AS `point`   WHERE `member_srl` = ?     
    - Caller:      modules/point/point.model.php line 67 (pointModel->getPoint)
    - Connection:  master (localhost)
    - Query ID:    point.getPoint
    - Query Time:  0.0003 sec
    - Result:      success
25. SELECT *  FROM `rx_point` AS `point`   WHERE `member_srl` = ?     
    - Caller:      modules/point/point.model.php line 67 (pointModel->getPoint)
    - Connection:  master (localhost)
    - Query ID:    point.getPoint
    - Query Time:  0.0001 sec
    - Result:      success

Slow Queries
============
01. SELECT *  FROM `rx_bookmarks` AS `bookmarks`   WHERE ( `member_srl` = ? ) AND `list_order` <= 2100000000     ORDER BY `list_order` DESC 
    - Caller:      modules/bookmark/bookmark.model.php line 28 (bookmarkModel->getBookmarkList)
    - Connection:  master (localhost)
    - Query ID:    bookmark.getBookmarkList
    - Query Time:  0.0135 sec
    - Result:      success

Slow Triggers
=============
01. addon.before_display_content
    - Target:     member_extra_info
    - Exec Time:  0.0229 sec

Slow Widgets
============
None

Slow Remote Requests
====================
None
  • profile
    답변이 아직 안달린 것을 보니.... 올려주신 정보로는 알기가 쉽지 않은 문제인가보네요.
    저도 모르겠구요.