[실험] 메뉴 조회 속도 비교 -> DB쿼리 VS JSON파싱

[실험] 메뉴 조회 속도 비교 -> DB쿼리 VS JSON파싱

홈페이지에서 TOP 메뉴, LEFT메뉴를 출력하려 한다.

메뉴는 뎁스별로 관리자에서 DB로 관리할수 있게 되어 있는상황.

여러 사용자들이 지속적으로 사이트에 접속하고 메뉴를 이동할때

효율적으로 메뉴를 표시할수 있는 방법에는 어떤방법이 있고 효율적인

방법은 무엇이 있을까?


내가아는 방법들

1. 실시간으로 DB를 조회 하여 TOP, LEFT메뉴를 출력한다.

2. java 메모리상에 TOP, LEFT메뉴 정보를 로드 해놓고 그 정보를 출력한다.

3. xml로 메뉴 구조를 만들어놓고 필요시 파싱해서 출력한다.

4. json으로 메뉴 구조를 만들어놓고 필요시 파싱해서 출력한다.


등 다른 방법도 있겠지만 오늘은 DB VS JSON 속도를 비교해볼것이다.


실험 스펙

자바 : 1.7

톰켓 : 7.0

DB : 5.5.40-MariaDB

JSON라이브러리 : org.codehaus.jackson 1.9.2

하드웨어 : 생략


1~4뎁스까지 메뉴가 존재한다. 전체 데이터 수는 58개.



속도비교 대상

1. DB로 메뉴정보를 뎁스와 상관없이 58건을 한번에 조회 후 처리 속도 측정

2. DB로 메뉴정보를 1~4 각각조회 후 처리 속도 측정(당연 1방법보다 느림)

3. JSON 데이터를 1~4뎁스 각각 파싱 후 처리 속도 측정


테스트 방법

long start = System.currentTimeMillis();

{테스트 프로그램}

long end = System.currentTimeMillis();

System.out.println("테스트 결과 : " + (end - start)/1000.0);

테스트 페이지




테스트 결과

총 5회 테스트 한 결과 이다.




개발환경, 스펙, 데이터 건수등에 따라 다르게 나오겠지만

현재 내가 테스트한 환경에서는 이러한 수치가 나왔다.

Json이 빠르다는것이 한눈에 보인다.


이만.