我设置了一个基于 MongoDB 的 Java Web 应用程序项目。本项目的DAO由MongoDB Java驱动实现;我没有使用 MongoDB 的 Spring Data。
我遇到了性能问题。如果应用程序向数据库发送查询,响应时间约为 17ms。但是如果我使用 Jmeter——它模拟了大约 300 个用户——90%Line 的响应时间大约是 1300 毫秒。响应时间是无法忍受的。我试图找出原因,但我不知道。
此外,还有MongoUri
字符串:
mongo.uri=mongodb://192.168.1.172:27017,192.168.1.172:22222,192.168.1.172:33333/?replicaSet=yyyy&maxPoolSize=100&ssl=false&readPreference=secondaryPreferred&connectTimeoutMS=10000&socketTimeoutMS=10000&safe=false&
查询就像对objectID
, like 的查询db.collection.find( { _id: xxxx } )
。另外,我在_id
.
mongo.xml
<bean id="uri" class="com.mongodb.MongoClientURI">
<constructor-arg value="${mongo.uri}"></constructor-arg>
</bean>
<bean id="mongoClient" class="com.mongodb.MongoClient">
<constructor-arg ref="uri"></constructor-arg>
</bean>
<bean id="mongoCollectionDao" class="com.xxx.api.domain.dao.impl.MongoCollectionDao" lazy-init="false">
<constructor-arg name="mongoClient" ref="mongoClient"></constructor-arg>
<constructor-arg name="mongoDatabaseName" value="${mongo.database}"></constructor-arg>
</bean>
谁能解释这里出了什么问题?