2013-05-01 1 views
1

다른 사람이 여기 (slow inserts into a capped collection?)에이 질문을했음을 알게되었지만 가장 좋은 답변은 없습니다.덮어 쓰기 모음에 데이터 쓰기가 너무 느립니다.

블로우 로그는 필자의 콜렉션 삽입 작업입니다.

Tue Apr 30 13:12:19.172 [conn870] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:53 872ms 
Tue Apr 30 13:12:19.175 [conn1093] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:70 1792ms 
Tue Apr 30 13:12:19.182 [conn843] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:245206 256ms 
Tue Apr 30 13:12:19.690 [conn886] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:64 1392ms 
Tue Apr 30 13:12:19.691 [conn1087] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:55 512ms 
Tue Apr 30 13:12:19.692 [conn922] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:63 1874ms 
Tue Apr 30 13:12:19.693 [conn937] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:503479 511ms 
Tue Apr 30 13:12:19.694 [conn879] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:63 1776ms 
Tue Apr 30 13:12:20.475 [conn879] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:82 779ms 
........ 

클라이언트 요청에서 많은 로그를 기록해야하는 작업 로그를 자동으로 기록하는 응용 프로그램을 실행하고 있습니다.

> db.requestLogs.stats(); 
{ 
    "ns" : "shopbot_slurp.requestLogs", 
    "count" : 1105917, 
    "size" : 192024340, 
    "avgObjSize" : 173.63359094760276, 
    "storageSize" : 209719296, 
    "numExtents" : 1, 
    "nindexes" : 0, 
    "lastExtentSize" : 209719296, 
    "paddingFactor" : 1, 
    "systemFlags" : 0, 
    "userFlags" : 0, 
    "totalIndexSize" : 0, 
    "indexSizes" : { 

    }, 
    "capped" : true, 
    "max" : NumberLong("9223372036854775807"), 
    "ok" : 1 
} 


>db.system.namespaces.find() 
{ "name" : "shopbot_slurp.requestLogs", "options" : 
{ "create" : "requestLogs","capped" : true, "size" : 209715200, "autoIndexId" : false } } 

아래는 내 삽입 코드 :

var doc = new BsonDocument() 
     { 
      {"url",url}, 
      {"verb",verbs}, 
      {"action",action}, 
      {"time",DateTime.Now} 
     };     
var collection = this._database.GetCollection(RequestLogCollectionName); 
collection.Insert(doc, WriteConcern.Unacknowledged); 

MongoDB를 : 2.4.2 MongoDB를 드라이버 : 몇 가지 제안을 c# 1.7

감사합니다.

답변

관련 문제