권호기사보기
| 기사명 | 저자명 | 페이지 | 원문 | 기사목차 |
|---|
결과 내 검색
동의어 포함
표제지
요약
Abstract
목차
I. 서론 14
1.1. 연구의 배경 14
1.2. 연구의 목적 및 방향 15
II. 웹 개발의 동향 17
2.1. 웹 개발 언어의 동향 17
2.2. 데이터베이스의 동향 18
III. 관련 기술 20
3.1. 서버 사이드 20
3.1.1. Node.js 21
3.1.1.1. Node.js의 장점 22
3.1.1.2. Node.js통신 기술 Socket.IO 28
3.1.2. ASP.NET 30
3.1.2.1. ASP.NET 통신 기술 SignalR 30
3.2. 데이터베이스 32
3.2.1. MongoDB 32
3.2.2. MSSQL 33
IV. 구현 및 성능 분석 34
4.1. 성능분석 환경 34
4.2. 측정 방식 35
4.3. 구현 소스 36
4.3.1. 읽기 37
4.3.2. 생성 40
4.3.3. 수정 43
4.3.4. 삭제 46
4.4. 측정 결과 49
4.4.1. 읽기 49
4.4.2. 생성 52
4.4.3. 수정 54
4.4.4. 삭제 56
4.5. 측정 결론 58
V. 결론 59
참고문헌 61
그림 3.1. NginX와 Apache의 클라이언트 커넥션에 따른 메모리 사용량 비교 23
그림 3.2. NginX와 Apache의 클라이언트 커넥션에 따른 리퀘스트 처리량 24
그림 3.3. Blocking I/O 이벤트 25
그림 3.4. Non-blocking I/O 이벤트 25
그림 3.5. NPM 명령어 26
그림 3.6. Node.js로 Socket.IO 사용 29
그림 3.7. SignalR의 서버와 클라이언트의 통신 방식 31
그림 4.1. 클라이언트에서의 응답시간 비교 순서도 35
그림 4.2. Node.js 읽기의 서버 사이드 구현 코드 37
그림 4.3. Node.js 읽기의 클라이언트 사이드 구현 코드 37
그림 4.4. ASP.NET 읽기의 서버 사이드 구현 코드 38
그림 4.5. ASP.NET 읽기의 클라이언트 사이드 구현 코드 38
그림 4.6. Node.js 생성의 서버 사이드 구현 코드 40
그림 4.7. Node.js 생성의 클라이언트 사이드 구현 코드 40
그림 4.8. ASP.NET 생성의 서버 사이드 구현 코드 41
그림 4.9. ASP.NET 생성의 클라이언트 사이드 구현 코드 41
그림 4.10. Node.js 수정의 서버 사이드 구현 코드 43
그림 4.11. Node.js 수정의 클라이언트 사이드 구현 코드 43
그림 4.12. ASP.NET 수정의 서버 사이드 구현 코드 44
그림 4.13. ASP.NET 수정의 클라이언트 사이드 구현 코드 44
그림 4.14. Node.js 삭제의 서버 사이드 구현 코드 46
그림 4.15. Node.js 삭제의 클라이언트 사이드 구현 코드 46
그림 4.16. ASP.NET 삭제의 서버 사이드 구현 코드 47
그림 4.17. ASP.NET 삭제의 클라이언트 사이드 구현 코드 47
그림 4.18. 읽기의 측정 결과 50
그림 4.19. 생성의 측정 결과 52
그림 4.20. 수정의 측정 결과 54
그림 4.21. 삭제의 측정 결과 56
2007년 아이폰(iPhone)이 등장하고 웹을 이용하는 환경이 변하기 시작했다. 이전에는 데스크탑이 웹을 사용하는 유일한 벤더(Vendor)이었다면 이제는 스마트폰을 넘어서 안경과 시계에 이르기까지 많은 벤더(Vendor)들이 나타나기 시작 했다.
새로 등장한 벤더들은 데스크탑과 다르게 휴대를 하며 사용을 한다. 그래서 기존의 고속 인터넷망이 아닌 무선 인터넷망을 사용한다. 이 무선 인터넷망은 아직 속도가 유선 인터넷망에 비해 느릴 뿐만 아니라 특정 지역에서는 아직 속도가 느리다.
새로운 벤더(Vendor)들의 원활한 웹 사이트 이용을 위해서 전체적인 경량화가 필요하게 되었다. 웹 사이트의 경량화를 위해서는 데이터 통신의 비용을 줄여야 한다. 그래서 최근에 웹 개발 업계에서는 두 가지 변화가 생기고 있다. 서버 사이드와 데이터베이스 분야의 신 기술 등장이다.
서버 사이드에는 새로 등장한 Node.js가 있고 데이터베이스에는 NoSQL의 MongoDB가 있다. Node.js는 서버 사이드를 자바스크립트 기반으로 만든 서버 사이드 언어이다. MongoDB는 기존의 RDBMS가 아닌 NoSQL의 한 종류이다. 그래서 분산 확장에 강할 뿐만 아니라 데이터베이스를 자바스크립트 기반으로 만들었으며 데이터 저장 형식은 BSON이다. Node.js와 MongoDB를 사용 한다면 3-tier(서버사이드, 클라이언트 사이드, 데이터베이스)를 모두 자바스크립트 단일 언어로 구축 할 수 있게 된다.
그러나 많은 개발자들은 서버 사이드와 데이터베이스의 변화와 함께 미들웨어(Middleware)의 홍수 속에서 이 기술들에 대한 검증의 필요성을 느끼고 있다. 그래서 본 논문에서는 Node.js를 이용한 자바스크립트 단일 언어 서버를 만들고 ASP.NET과의 성능 분석을 하였다. 성능 분석의 방법으로는 리퀘스트(Request)를 1000번에서 5000번까지 요청하여 CRUD(Create, Read, Update, Delete)에 걸리는 시간을 측정하였다.
측정을 통해 Node.js가 삭제(Delete)를 제외 하고는 ASP.NET에 비해 7배 정도 빠른 것으로 나타났다. 그리고 삭제(Delete)역시 1.5의 의미있는 빠르기를 보였다.
실제 업무에서는 조금의 속도 차이라도 비용을 절감시킬 수 있게 된다. 이 번 연구를 통해 Node.js에 대한 속도 검증을 할 수 있었으며, 이를 기반으로 실제 업무에 적용한다면 비용절감을 할 수 있을 것이다.*표시는 필수 입력사항입니다.
| 전화번호 |
|---|
| 기사명 | 저자명 | 페이지 | 원문 | 기사목차 |
|---|
| 번호 | 발행일자 | 권호명 | 제본정보 | 자료실 | 원문 | 신청 페이지 |
|---|
도서위치안내: / 서가번호:
우편복사 목록담기를 완료하였습니다.
*표시는 필수 입력사항입니다.
저장 되었습니다.