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

Using --nojournal on 3.2 WiredTiger slows down tests by an order of magnitude

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.2.0-rc1
    • Component/s: WiredTiger
    • Labels:
      None
    • ALL

      I've been trying to identify the root cause of a major slow down in tests when running in 3.2, but have found nothing obvious so far, except for some pretty high disk activity during tests.

      To reproduce, start the test suite databases (there are several of them, in varied setups to exercise several different aspects of the driver):

      make startdb
      

      and then run a selection of tests; GridFS is a good example as they are all passing with 3.2 and most of them are very simple:

      go test -check.v -check.f GridFS
      

      In Gabriel Russell's machine, this was the result as of yesterday evening:

      [gabriel@earthshaker mgo.v2]$ go test -check.f GridFS -check.v
      PASS: gridfs_test.go:295: S.TestGridFSAbort     0.269s
      PASS: gridfs_test.go:332: S.TestGridFSCloseConflict     2.304s
      PASS: gridfs_test.go:39: S.TestGridFSCreate     2.792s
      PASS: gridfs_test.go:214: S.TestGridFSCreateWithChunking        1.937s
      PASS: gridfs_test.go:110: S.TestGridFSFileDetails       2.475s
      PASS: gridfs_test.go:474: S.TestGridFSOpen      1.500s
      PASS: gridfs_test.go:651: S.TestGridFSOpenNext  3.112s
      PASS: gridfs_test.go:360: S.TestGridFSOpenNotFound      0.002s
      PASS: gridfs_test.go:377: S.TestGridFSReadAll   2.453s
      PASS: gridfs_test.go:414: S.TestGridFSReadChunking      5.285s
      PASS: gridfs_test.go:621: S.TestGridFSRemove    3.215s
      PASS: gridfs_test.go:583: S.TestGridFSRemoveId  3.124s
      PASS: gridfs_test.go:504: S.TestGridFSSeek      2.686s
      PASS: gridfs_test.go:186: S.TestGridFSSetUploadDate     2.765s
      OK: 14 passed
      PASS
      ok      gopkg.in/mgo.v2 39.824s
      

      Same tests in the same system running on 3.0:

      [gabriel@earthshaker mgo.v2]$ go test -check.f GridFS -check.v                                                                                                                                                                                                                              
      PASS: gridfs_test.go:295: S.TestGridFSAbort     0.082s
      PASS: gridfs_test.go:332: S.TestGridFSCloseConflict     0.081s
      PASS: gridfs_test.go:39: S.TestGridFSCreate     0.078s
      PASS: gridfs_test.go:214: S.TestGridFSCreateWithChunking        0.073s
      PASS: gridfs_test.go:110: S.TestGridFSFileDetails       0.070s
      PASS: gridfs_test.go:474: S.TestGridFSOpen      0.646s
      PASS: gridfs_test.go:651: S.TestGridFSOpenNext  0.267s
      PASS: gridfs_test.go:360: S.TestGridFSOpenNotFound      0.002s
      PASS: gridfs_test.go:377: S.TestGridFSReadAll   0.082s
      PASS: gridfs_test.go:414: S.TestGridFSReadChunking      0.081s
      PASS: gridfs_test.go:621: S.TestGridFSRemove    0.100s
      PASS: gridfs_test.go:583: S.TestGridFSRemoveId  0.089s
      PASS: gridfs_test.go:504: S.TestGridFSSeek      0.076s
      PASS: gridfs_test.go:186: S.TestGridFSSetUploadDate     0.083s
      OK: 14 passed
      PASS
      ok      gopkg.in/mgo.v2 4.543s
      

        1. diagnostic.data-WT.tgz
          68 kB
        2. diagnostic.data-WT-nojournal.tgz
          66 kB
        3. journal-nojournal.png
          journal-nojournal.png
          178 kB

            Assignee:
            david.hows David Hows
            Reporter:
            niemeyer Gustavo Niemeyer
            Votes:
            1 Vote for this issue
            Watchers:
            27 Start watching this issue

              Created:
              Updated:
              Resolved: