Xpressengine 속도 때문에 논란이 많은데...
서버 사양만 받쳐 준다면 그닥... 문제 될게 없다 -0-;
하지만, 지금 여기 홈피처럼...
인텔 아톰 CPU 1.6GHz 듀얼
램 2G
집에서 초고속망 이용중... -0-;
이런 조건에서는 CPU 자체에서도 연산이 느리고... 그리고 운영체제가 윈도우 이다보니...
Apache를 돌리니 퍼포먼스는 그닥 좋지는 않다...
고로 xe가 되었던 어쨌건... 잘 안돌아간다... 하지만 xe가 조금은 무겁다는걸 느낀다.
회원 가입 모듈을 이용하다가... 트리거라는걸 알았다.
그걸 이용해서 중간에 이것 저것 가로챈다음... xe에 인식 시켜봤다~
그러던중... 나와 충돌하는 트리거가 있을수 있겠다 싶어서
검색해 보니... 이것 저것 같은 부분에서 가로채는 기능들이 많다.
그중에서 사용하지 않고 그냥 설치만 해 놓았던 모듈들도 상당히 많다~ 오호~
그리고 몇몇 트리거는 항상 호출한다. (특정 모듈일때 동작하는게 아니라... 항상~ 항상~ 항상~)
대표적으로...
moduleHandler.init
moduleHandler.proc
이 두개는 트리거를 등록하게 되면 항상 그 트리거에 해당하는 모듈의 fuction를 체크한다... 쩝쩝~~~
이거 무조건 테스트 한다고 이것저것 설치했다가는...
그냥 페이지 하나 호출했는데... 이것 저것 다 체크하고... 페이지를 뿌리니... -0-;
결국...
속도 향상 첫번째 방법론으로... 트리거 제거론을 거론한다!
trigger_name | count(trigger_name) |
comment.deleteComment | 9 |
comment.insertComment | 12 |
comment.updateComment | 6 |
display | 7 |
document.deleteDocument | 14 |
document.getDocumentMenu | 1 |
document.insertComment | 1 |
document.insertDocument | 16 |
document.insertTrackback | 1 |
document.moveDocumentModule | 4 |
document.moveDocumentToTrash | 1 |
document.restoreTrash | 1 |
document.updateDocument | 12 |
document.updateReadedCount | 1 |
document.updateVotedCount | 1 |
editor.deleteSavedDoc | 1 |
file.deleteFile | 2 |
file.downloadFile | 5 |
file.insertFile | 2 |
issuetracker.deleteRelease | 1 |
issuetracker.insertChangeset | 1 |
issuetracker.insertHistory | 3 |
issuetracker.insertRelease | 1 |
material.deleteMaterial | 1 |
member.addMemberToGroup | 1 |
member.deleteMember | 6 |
member.dispMemberSignUpForm | 1 |
member.doLogin | 4 |
member.getMemberMenu | 4 |
member.insertMember | 6 |
member.updateMember | 1 |
module.deleteModule | 7 |
module.dispAdditionSetup | 8 |
moduleHandler.init | 4 |
moduleHandler.proc | 7 |
payment.doPaymentComplete | 1 |
trackback.deleteTrackback | 2 |
trackback.insertTrackback | 3 |
위 테이블중에서 빨간색 글씨 부분은 항상 호출하는 트리거다...
18개는 멀 하던간에... 호출하는 트리거다~ -0-;
xe를 처음깔면 몇개가 나올지 궁금하지만... 시간상 우선 참아본다 --;
아무튼 결론은 트리거 정리를 항상 가슴(?)에 담아두고(?)
이것 저것 다 설치하지 않는게 좋겠다.
트리거라고 다 나쁜건 아니고... 그때 그때 특별 모듈에서 작동하는 트리거는 이해가 되지만...
이메뉴 저메뉴 클릭할때마다... 호출되는 트리거는 참으로 문제가 있다.
(타이틀 고정 애드온 같은 부분은 항상 호출 되어야 하지만... 아무튼 이것 저것 따져봐야 한다~)
아무리 잠깐 체크 한다 하더라도... db 테이블에서 트리거 명칭을 찾는다는 것은 db를 한번은 더 호출 한다는 것이니...
반드시 신경을 써야 하는 부분이다!
나중에 이런 저런 부분들을 다 따져서 종스가 추천하는 좋은 모듈들을 따로 소개 하도록 하겠다. 무서버~
※ 참고로 지금 회원 가입 확장 모듈을 따로 만드는 중인데 이부분을 고려하여 잘 만들어 볼련다~ ㅋㅋ