생각보다 검증이 일찍 끝났다.


2018/04/13 - [데이터 분석] - MongoDB Connection Pool 만들기 in Java 2

이 글의 마지막에서 말했듯이 자바에서 강제로 긴 시간 동안 데이터를 읽도록 하고 그 동안 서버의 상대를 확인하는 방법으로 커넥션 풀이 유지되는가를 확인하는 게 유의미했다.



이게 서버를 돌리기 전에 커넥션의 상태이다.




사용한 소스는 


public static void main(String[] args) {

System.out.println("1");

MongoDatabase db = MongoDBUtil.getConnection(데이터베이스이름);

System.out.println("2");

MongoCollection<Document> col = db.getCollection(컬렉션 이름);

System.out.println("3");

MongoIterable<Document> iterable = col.find();

System.out.println("4");

MongoCursor<Document> cursor = iterable.iterator();

System.out.println("5");

while(cursor.hasNext()) {

System.out.println(cursor.next());

}

}



이것이다.


공공데이터에서 약 5메가쯤 되는 자료를 출력하라고 시켰고 서버가 돌아가는 동안 커넥션 풀이 Option에 맞춰 제대로 생성되면 성공이었다.


Option은 


최초 30개 생성, 최대 500개 유지, 최소 10개 유지


이다.




데이터 자료가 너무 작은 걸 사용했는지 너무 빨리 끝나버렸다. 그래서 그런지 커넥션 상태가 옵션만큼 올라가지 않았다.


그래서 더 큰 자료로 시도하였다.




확실히 서버가 돌고있는 동안에 규모가 설정값만큼 커진 것을 확인했다.



그런데 여기서 의문은 왜 최초부터 4개의 커넥션을 가지고 시작하는가, 왜 localhost인데 19개의 커넥션을 사용했는가이다.


위의 문제는 책을 찾아보고 올리도록 하겠다.

+ Recent posts