MongoDB / GridFS + Tomcat麻烦

时间:2012-07-27 10:58:27

标签: mongodb tomcat gridfs

我在Tomcat 7上运行一个应用程序,在虚拟机上运行,​​只用于一个目的:分发照片。

初始化应用程序时,它与MongoDB连接如下:

//Create mongo reference
Mongo mongo = new Mongo(new MongoURI(url));

然后我将引用保留在内存中,然后像这样搜索照片:

//Update R/W Strategy
dbManager.setMongoReadWritePreferences(mongo, app);

//Use database dbname
DB db = mongo.getDB(dbname);

try {           
    db.requestStart();
    db.requestEnsureConnection();

    //Open gridFS connection
    GridFS fs = new GridFS(db, GlobalConfig.GRIDFS_COLLECTION_BUCKET_BLOBS);

    GridFSDBFile photos = fs.findOne(filename);
    log.debug("[+]"+photos);

    if (photos == null){
        throw new Exception("[PHOTO_NOT_FOUND]");
    } else {
        return photos.getInputStream();
    }

} finally {
    //Request is finished
    db.requestDone();
}

它运作良好。 (〜35ms,任何照片,70GB照片集

我最近开始遇到没有返回照片的问题,以及监控图上的奇怪峰值:

Thread count Requests per mins Mean time Bytes per mins

流量不是很高,但它一直在做奇怪的事情,随机发送空白照片。

任何人都知道它会是什么?

0 个答案:

没有答案