mongodb的线程池设置不起作用
迷茫
迷茫 2017-04-24 09:12:41
0
1
611

最近遇到线程池的问题,默认mongodb为每个连接(即new 出的一个连接对象)分配了一个线程池,里面最多有10个线程,网上说可以通过MongoOpection的connectionPerHost参数来调整线程池的大小,但是实际上无论我怎么修改这个参数的值线程池的大小都是10,请问这个是为什么,是不是有什么地方也要修改?

另外,对于一个网页的应用,是客户端每次点击界面产生一个连接(new一个连接的对象)的设计好,还是在程序开始的时候new一个连接,然后分配给它较大的线程池,每次客户连接就从线程池里面取一个的方式好? 个人感觉第一种在高并发的情况下对系统的负载较高。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(1)
Ty80

직접 이유를 찾았습니다.
1 사용된 JAVA 드라이버 버전이 너무 오래되었기 때문에 기본 스레드 수는 10입니다. 버전은 2.2이고 최신 버전은 2.12입니다. 한 연결의 기본 스레드 풀은 100으로 설정되었습니다
2 공식 문서에 제공된 제안은 연결을 연 다음 스레드 풀에서 연결을 가져오는 것입니다
3 MongoOperation 클래스는 버전 2.12에서 폐지되었지만 사용할 수 있습니다. ConnectionPerHost 매개변수를 설정하면 연결 매개변수에서 스레드 풀의 스레드 수가 표면적으로 수정될 수 있지만 실제로는 시스템 백그라운드의 스레드 풀 상한입니다. 여전히 100이고 매개변수는 적용되지 않지만(다른 설정 방법이 있는지 궁금합니다) 개인적으로 스레드 풀이 지속적으로 100 이상을 차지할 수 있다면 그다지 중요하지 않다고 생각합니다. 시스템 설계

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!