Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-3811

Fix performance changes due to build changes in 1.7

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 1.7.0
    • 1.7 alpha 2
    • couchbase-bucket
    • Security Level: Public
    • None

    Description

      Thanks Steve. As you mentioned below, these changes would affect performance in some degree.

      I've looked at GET operation code paths between 1.6.5 and 1.7. They are actually identical and NO changes. I've also profiled the CPU usage of GET operations for 1.7, but didn't find anything that caused more overhead additionally.

      Chiyoung

      On May 11, 2011, at 5:13 PM, Steve Yen wrote:

      > Hi Chiyoung,
      >
      > There were some of the changes in 1.7 builds and some of these might affect performance...
      >
      > - We moved from the wallace Rakefile/Manifest approach in 1.6 to the new 1.7 top-level Makefile system in voltron. (cc'ing Alk as he knows the top-level Makefile the best.)
      >
      > - In that, the configure's slightly changed. For ubuntu 64-bit, for example, in 1.6, we used to do...
      >
      > ./configure --with-memcached=../memcached
      >
      > In 1.7, we explicitly added debugging symbols...
      >
      > ./configure --prefix=/opt/membase --with-memcached=../memcached --with-debug CPPFLAGS=-I/var/lib/buildbot/ubuntu_9.04_x86_64/voltron_ubuntu_9.04_64/build/build/memcached/include
      >
      > - For rpm's in 1.6, we used to build on redhat 5.5. In 1.7, we build rpm's on centos 5.2 (in order to build on the oldest platform that we support).
      >
      > There might be other things at play I'm not thinking of at the moment.
      >
      > Steve
      >
      >
      > ________________________________________
      > From: Chiyoung Seo
      > Sent: Wednesday, May 11, 2011 4:32 PM
      > To: Steve Yen
      > Cc: Matt Ingenthron; Sharon Barr; Mike Wiederhold; Frank Weigel
      > Subject: Get performance comparison between 1.6.5 and 1.7
      >
      > Steve,
      >
      > I just did a quick GET performance comparison between 1.6.5 and 1.7 by running memcached on a single node and only one vbucket (VB 0), and found something interesting in doing 5M GET operations:
      >
      > 1) This is GET timing stat for 1.6.5.3 downloaded from http://builds.hq.northscale.net/latestbuilds/sustaining/
      >
      > get_cmd (5112082 total)
      > 1us - 2us : ( 10.68%) 545995 ########
      > 2us - 4us : ( 95.90%) 4356489 ####################################################################
      > 4us - 8us : ( 96.86%) 48910
      > 8us - 16us : ( 99.65%) 142691 ##
      > 16us - 32us : (100.00%) 17837
      > 32us - 64us : (100.00%) 140
      > 64us - 128us : (100.00%) 20
      >
      >
      > 2) This is GET timing stat for 1.7 latest build from http://builds.hq.northscale.net/latestbuilds/
      >
      > get_cmd (5519920 total)
      > 2us - 4us : ( 0.01%) 775
      > 4us - 8us : ( 88.11%) 4863101 ######################################################################
      > 8us - 16us : ( 93.84%) 315741 ####
      > 16us - 32us : ( 99.84%) 331250 ####
      > 32us - 64us : ( 99.97%) 7237
      > 64us - 128us : ( 99.99%) 1471
      > 128us - 256us : (100.00%) 332
      > 256us - 512us : (100.00%) 12
      > 512us - 1ms : (100.00%) 1
      >
      >
      > 3) This is GET timings stat for 1.7 latest build, but I compiled my own "ep.so" in our linux build machine (10.1.1.202) and replace "ep.so" from the build package with my own "ep.so" (Note that both have the same code base)
      >
      > get_cmd (5482779 total)
      > 1us - 2us : ( 3.12%) 171115 ##
      > 2us - 4us : ( 94.47%) 5008621 #########################################################################
      > 4us - 8us : ( 95.49%) 55544
      > 8us - 16us : ( 99.26%) 206940 ###
      > 16us - 32us : ( 99.99%) 40163
      > 32us - 64us : (100.00%) 333
      > 64us - 128us : (100.00%) 59
      > 128us - 256us : (100.00%) 4
      >
      >
      > As you can see, the performance of 1.7 build package is two times slower than 1.6.5.3, which is similar to Mike's recent benchmarks. However, the performance of 1.7 with my own "ep.so" has almost the same performance as 1.6.5.3.
      >
      > Did we change any compilation or build options in creating build packages since 1.6.5.3?
      >
      > Thanks,
      > Chiyoung
      >
      >

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            Unassigned Unassigned
            steve Steve Yen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty