
Go language는 개발자들이 가장 배우고 싶어하는 언어로 꼽히기도 하였다.
그래서 나는 Go Language에 대하여 궁금해졌고, 이에 대한 논문을 나의 랩실 박사님의 도움을 받아 논문을 쓸 기회가 생겼다.
일단, Go Language의 특징부터 확인해보자.
- Go Language의 장점은 OS환경에서 바로 프로세스로 옮겨지므로, 훨씬 빠르다는 장점이 있다.(자바의 경우 JVM을 거쳐서 바이너리로 변환 후 프로세스로 옮겨지게 됨.)
- 멀티 쓰레드를 다루기 매우 쉽다.
- 매우 쉬움
- 구글의 지원을 받음
........ 등 등
여러 특징과 장점들이 있다. Go는 최근들어 아주 핫하게 뜨고 있는 언어임은 확실하기에, 궁금해졌다.

www.dbpia.co.kr/Journal/articleDetail?nodeId=NODE09371872
효율적인 웹 서비스 구축을 위한 GoLang 성능 분석
논문, 학술저널 검색 플랫폼 서비스
www.dbpia.co.kr
웹 서버로 구성하는 것은 비교적 쉬웠다.
자유롭게 쓰고 있던 AWS EC2가 있기에 연구를 위한 연구환경으로 재배치하였다.
서버 인스턴스 : EC2 t2.micro
운영체제 : ubuntu linux 18.04
웹 서버 : NginX
Go Language : go v1.10.4 linux/amd64
DB 인스턴스 : db.t2.micro
Browser : Chrome 83.0.4103.61
위와 같은 환경에서 연구를 진행하였다.
서버/DB 간 리소스 응답 시간 측정과 HTTP를 통한 클라이언트 DOM에 리소스 출력 시간을 측정하는 것이 이번 논문의 핵심이다.
서버/DB 간 리소스 응답 시간 측정 결과는 다음과 같다.
Test#NUM | 속도(ms) | Test#NUM | 속도(ms) |
1 | 4.534 | 16 | 2.645 |
2 | 2.938 | 17 | 2.466 |
3 | 2.689 | 18 | 2.599 |
4 | 2.630 | 19 | 5.626 |
5 | 3.070 | 20 | 2.596 |
6 | 5.489 | 21 | 2.629 |
7 | 3.037 | 22 | 2.522 |
8 | 2.867 | 23 | 2.632 |
9 | 5.107 | 24 | 2.473 |
10 | 2.679 | 25 | 2.673 |
11 | 4.722 | 26 | 2.571 |
12 | 2.552 | 27 | 6.203 |
13 | 4.976 | 28 | 2.715 |
14 | 2.721 | 29 | 2.616 |
15 | 5.236 | 30 | 3.480 |
평균 | 3.39 |
HTTP를 통한 클라이언트 DOM에 리소스 출력 시간 측정 결과는 다음과 같다.
Test#NUM | Waiting(TTFB)(ms) | Request sent(ms) |
1 | 11.92 | 0.15 |
2 | 11.97 | 0.14 |
3 | 12.10 | 0.99 |
4 | 11.42 | 0.14 |
5 | 11.21 | 0.11 |
6 | 12.07 | 0.18 |
7 | 13.07 | 0.14 |
8 | 14.12 | 0.14 |
9 | 15.06 | 0.14 |
10 | 13.04 | 0.17 |
11 | 12.32 | 0.15 |
12 | 14.09 | 0.15 |
13 | 15.16 | 0.16 |
14 | 13.87 | 0.16 |
15 | 11.93 | 0.15 |
16 | 12.06 | 0.18 |
17 | 12.55 | 0.18 |
18 | 13.04 | 0.19 |
19 | 13.29 | 0.13 |
20 | 12.36 | 0.14 |
21 | 14.04 | 0.18 |
22 | 13.62 | 0.16 |
23 | 13.78 | 0.13 |
24 | 14.03 | 0.15 |
25 | 13.16 | 0.20 |
26 | 14.16 | 0.15 |
27 | 12.08 | 0.18 |
28 | 12.95 | 0.14 |
29 | 14.16 | 0.15 |
30 | 13.58 | 0.15 |
평균 | 13.07 | 0.18 |
개발환경, 개발은 문제가 없었지만 처음 써보는 논문이기에, 글을 쉽게 다루는 방법이나 논문의 형식적인 글을 담아내는 것에서 힘이 많이 들었다. 박사님께서 적극적으로 도와주셨기에, 비교적 빠르게 끝낼 수 있었다.
'개발 > 연구' 카테고리의 다른 글
C++, JAVA, C# 객체지향 언어들의 차이 (0) | 2020.09.14 |
---|---|
[python3, 크롤링, deep web] http로 특정 사이트의 원하는 정보를 가져오기 (0) | 2020.07.04 |
[javascript] node.js 모듈 (0) | 2020.05.17 |
[javascript] 자바스크립트 ES 2018 문법 체계 학습 (0) | 2020.05.15 |
[REST] REST API에 대한 고찰. (0) | 2020.04.16 |