profiling 2

TextCube Performance Profiling

Trunk 3751 기준 텍스트 큐브의 DB 디버깅 지원 from 썰렁한 엔지니어 메타 플러그인을 켠 경우라서 일반적인 페이지 뷰잉과는 차이가 있겠지만 아무튼, 처음 뛰는 곳은 php 소스코드 로딩하느라 난리나는 곳이죠. PHP 가속기로 쉽게 해결할 수 있는 부분이기도 합니다. 이후 글들 가져오고 드레싱 하는 부분에서 약간씩 변곡점이 생기긴 합니다만 전반적으로 직선 그래프군요. 페이지 하나를 출력하기 위해서 뭔가 할 일이 많은 상황. 이런 경우에 쓸만한 테크닉들을 찾아보면.. 우선 쿼리캐싱. 현재 TextCube에는 단위 작업내에서만 캐싱이 가능합니다만 디비단에서 해 주던가 아무튼 리퀘스트간에도 캐시가 먹어야 합니다. 페이지캐싱. 화끈하죠. 다만 TextCube의 특성상 많은 변화포인트를 가지는 지라, ..

어플리케이션 속도 튜닝 노가다

최근 티스토리를 비롯한 태터툴즈의 속도 향상 작업을 하면서 새삼 깨닫게 되는 법칙이 "측정 효과"일 것이다. 정확히 기억은 나지 않지만 어떤 Software Engineering 책에서 읽은 예제인데 어떤 공장에서 조도에 따른 작업 효율을 측정하는 예제가 기억난다. 기본 상태에서 공장 노동자들의 생산성을 측정한 후 조도를 높여 보았더니 생산성이 증가하는 것으로 측정되었다. 그래서 이번엔 조도를 처음보다 낮추어 보았더니 역시 증가된다는 것이다. 조도 뿐만이 아니라 측정 그 자체가 실험의 환경변수가 되어 버린다. 프로그램 혹은 어플리케이션의 속도를 향상시키는 작업에서 기본적으로 하는 활동 중 하나가 Profiling 즉 현재 상태에 대한 측정일 것이다. 운좋게 딱 한군데의 버틀넥(Bottle-Neck)을 찾..