20달러 쿠폰으로 2core 4gb linode 시작.

 

.htaccess 편리함을 위해 Apache

 

리소스 절감을 위해 php-fpm, 모듈 호환을 위해 7.1

 

MariaDB 보단 플러그인이 잘 되는 MySQL 깔려고 시도했으나,, 잘 안되길래 귀찮아서 MariaDB 설치.

 

selinux 켜놓고 서비스 구동 완료

 

그런데 사이트가 느리네요.

 

xhprof 분석해보니 memcached, mysqli query 에서 시간이 오래걸림.

 

php-memcached, php-memcache 번갈아 써봤으나 별 차이없음.

 

혹시 selinux 키면 tcp 연결이 느려지는걸까? memcached 를 socket 으로 연결 시도

 

memcached socket 구동 실패

 

혹시 db 탓인가? xe_documents, xe_comments 만 innodb 쓰고 있던 것을 모든 테이블을 innodb 로 변경.

 

여전히 느림..

 

대안책으로 php object cache 검색해보니 memcached 보다 빠르게 작동하는 apcu 라는 것이 있었음!

 

php-apcu 설치하고 xe에 없는 cachehandler apcu 모두 작성. (완성하고 혹시나 찾아보니 라이믹스에 이미 있더란...)

 

Core 수정없이 xe에서 apcu 적용. (그러고보니 XE Core apcu를 지원안한다는게 말이나 되는건지? 개발에서 손뗀건가..)

 

메모리는 남아도니까 apcu 메모리 넉넉하게 주고 cache 잘 작동하는 것 확인 - memcached 일때보다 조금 빨라졌으나 여전히 느림.

 

하루 경과

 

포인트 갱신이 안되는 것을 확인 - 아하 rsync 로 기존 사이트 복제해온 것인데 files 퍼미션이 올바르지 않은것이었군!

 

일단 쓸데없이 파일 많은 넘부터 처리 mv point point_bak / rm -rf point_bak

 

퍼미션 조정 chmod 707 -R files

 

사이트 빨라짐. 80% 만족! 오래된 캐시파일을 대체하지 못해 반복해서 파싱/쿼리 하고 있어서 느렸던 것입니다.

 

nodejs 채팅 서버도 구축해야 하는데 이번주 안으로는 더 이상 취미에 쏟을 시간이 없을 듯 하네요.

 

 

 

ps. 그나저나 잠깐 살펴본 봤는데 xe core 는 getDocumentList 캐싱 안하는거 같은데 맞나요?