Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-9734

Single writes with journal=true are penalized by journalCommitInterval

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 2.4.3
    • Component/s: Performance, Write Ops
    • None
    • Environment:
      Windows 7 Professional SP1 x64
    • Storage Execution

      These lines are from durThread method in dur.cpp:

      // commit sooner if one or more getLastError j:true is pending
      sleepmillis(oneThird);
      for( unsigned i = 1; i <= 2; i++ ) {
      if( commitJob._notify.nWaiting() )
      break;

      As oneThird can't be less than 1 ms, every single write with j=true is penalized by that time. Should we move this check before sleepmillis?

      if( !commitJob._notify.nWaiting() ) {
      sleepmillis(oneThird);
      for( unsigned i = 1; i <= 2; i++ ) {

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            dnaumov Dmitry Naumov
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: