검색결과 리스트
FireFox 에 해당되는 글 1건
- 2009/01/14 DWR VS prototype.js Ajax performance 비교
2009/01/14 01:44
DWR
DWR은 자바 라이브러리로서 Direct Web Remoting의 약자입니다. Java에서 Ajax를 쉽게 사용하기 위한 라이브러리로서 서버에 있는 Java소스를 스크립트로 바로 호출 할 수 있도록 해줍니다. 이는 기존의 다른 Ajax에서 서버에서 데이터를 받아오기 위한 페이지를 만들 필요가 없기 때문에 개발의 편의성을 높여줍니다.prototype.js
프로토 타입은 모르는 사람이 없을 정도로 유명한 javascript framework입니다. 코드를 간결하게 해주고 웹 브라우저에 따른 별도의 javascript 코드를 작성하지 않아도 됩니다.DWR VS prototype.js Ajax performance 비교
그렇다면 DWR과 prototype.js의 Ajax 성능은 어떨까요? 직접 테스트 해볼까요?참고로 이 테스트는 제 개인적인 호기심으로 한 테스트입니다. 테스트 방법 및 신뢰도에 대한 부분은 전혀 보장하지 않습니다. : )
테스트 환경
JRE : 1.6.0_11브라우저 : FireFox
측정 툴 : FireBug
※ 모든 테스트 결과 수치는 ms(1/1000초)입니다.
테스트 1 : 1초 간격으로 호출을 해서 응답시간을 측정합니다.
이 테스트는 한번의 Ajax 응답이 오는 시간을 측정하는 테스트입니다.DWR 테스트 결과
prototype.js 테스트 결과
| DWR | prototype.js | |
| 1 | 27 | 47 |
| 2 | 31 | 26 |
| 3 | 38 | 29 |
| 4 | 34 | 32 |
| 5 | 31 | 56 |
| 6 | 55 | 57 |
| 7 | 26 | 23 |
| 8 | 40 | 45 |
| 9 | 62 | 50 |
| 10 | 61 | 48 |
| 평균 | 40.5 | 41.3 |
그리고 그림을 보시면 DWR과 prototype.js의 Ajax 방식에서 차이점이 보이실껍니다.
DWR은 POST 방식을 사용하고 있고 prototype.js는 GET 방식을 사용하고 있네요.
테스트 2 : 100번을 연속으로 호출해서 모든 응답이 올때까지의 시간을 측정합니다.
이 테스트는 부하 테스트입니다. 한번에 많은 양의 요청을 얼마나 빨리 처리할 수 있는가를 측정합니다.DWR 테스트 결과
DWR은 100개의 응답이 오는데 3.38초가 걸렸네요.prototype.js 테스트 결과
prototype.js는 100개의 응답을 받는데 1.67초가 걸렸네요. 4번째 요청이 제일 늦게 응답을 받았는데 1.67초가 걸렸습니다.테스트 결과 분석
부하가 걸리지 않는 상황에서는 DWR이나 prototype.js의 성능상의 차이는 거의 없습니다. 하지만 부하가 걸리는 상황에서는 prototype.js의 성능이 DWR보다 월등한 성능을 보여주고 있습니다.하지만 이는 GET방식과 POST방식으로 인한 차이일 수도 있으며 DWR과 prototype.js의 메모리 사용률도 조금달랐습니다. DWR은 메모리가 일정 수치 이상 올라가면 메모리 사용량이 일정 수치 이상 올라가지 않는 것으로 보아 가비지 컬렉터가 수행되는 것 갔았으며 prototype.js는 메모리 사용률이 계속 올라갔습니다. 이 부분에 대해서는 별도의 테스트가 필요한것 같습니다.
만약 Ajax 컴포넌트를 선택하는 상황이라면 성능상으로는 prototype.js이 뛰어날 지라도 DWR의 개발시 편의성과 메모리 사용률도 무시하지 못할 부분이라고 생각됩니다.
※ 참고로 이 포스트에서 보여드린 테스트는 한번 밖에 수행하지 않았지만 결과를 기록하지 않은 테스트가 여러번 수행되었으며 위 결과와 비슷한 수치를 보였습니다.
'개발 이야기 > JavaScript' 카테고리의 다른 글
| [extjs] Ext.MessageBox 클래스의 height가 비정상적으로 길어질때... (0) | 2010/03/03 |
|---|---|
| [extjs] extjs에서 iframe 사용하기 (0) | 2010/03/03 |
| [extjs] TabPanel 사용시 동일한 아이디로 여러번 생성하지 말것 (0) | 2010/02/23 |
| [extjs] xtype 목록 (0) | 2010/02/02 |
| DWR VS prototype.js Ajax performance 비교 (0) | 2009/01/14 |
| [펌] prototype.js 분석 전 알아야 할 자바스크립트 특징 (1) | 2009/01/13 |