그 질문은 정말 간단하고 거의 모든 것이 제목에 들어 있습니다.Java new MongoClient()가 10 초 이상 걸립니다
나는 내 프로그램이 눈에 띄는 CPU 나 메모리 사용량의 변화없이 10 ~ 15 초 동안 중단
MongoClient mc = new MongoClient();
할 때.
이 후 데이터베이스에 대한 호출은 예상대로 번개처럼 보입니다. 내 프로그램이 로컬로 내 DB로 실행됩니다.
My dev 노트북은 꽤 빠르므로 하드웨어 관련 문제가 거의 없습니다.
Java에서 MongoDB를 처음 사용합니다. PHP를 사용하면 DB 연결이 거의 즉각적 이었으므로 여기서는 같아야합니다! 여기
이 내 프로그램program start time : 1390057127744 // 0,000s
new mongojacktest // a small object I made for my tests
new MongoClient() // The output hangs here and if I comment this line I get errors
// but my entire program runs in 5ms or less
start time :1390057127745 // 0,001s
getDB(myTestDb)
start time :1390057127745 // 0,001s
getCollection - testCollection
start time :1390057127745 // 0,001s
print db collections :
firstCollection
system.indexes
program exit time : 1390057143987 // 16,242s WTF?
의 출력은 내가 놓친 게 있나요 또는이 정상입니까?
감사합니다.
이미 시도했지만 아무 것도 변경하지 않았습니다. 어쨌든 모든것이 로컬 컴퓨터에서 실행되고 "localhost"를 해결하는 것은 절대로 문제가되지 않습니다. 귀하의 답변 주셔서 감사합니다! – Johnride
"127.0.0.1"로 시도하십시오.이 값은 기본값이지만 어쨌든 "localhost"가있는 이전 버전을 사용하고 있습니다. 추측 할 수 있습니다. –
@Johnride 호스트와 포트를 추가해도 아무런 변화가 없었습니까? 내 랩톱에 대한 작은 테스트에서'새로운 MongoClient()'가 약 0.5 초 걸렸지 만'새로운 MongoClient (새로운 ServerAddress ("localhost", 27017)) (또는 "127.0.0.1"사용) 시각. 문제를 재현하여 여기에 게시하기 위해 작은 프로그램이나 단위 테스트를 작성할 수 있습니까? Java를 사용하면 지연을 실제로 일으키는 원인을 알기가 항상 어렵습니다. 가비지 수집으로 인해 불행해질 수 있습니다. 그렇지 않으면 완전히 관련이없는 것일 수 있습니다. – Trisha