Uploaded image for project: 'Apache Cassandra'
  1. Apache Cassandra
  2. CASSANDRA-542

stress.py enhancements

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 0.5
    • None
    • None

    Description

      this patch makes the following improvements over the existing stress.py (with the patch in CASSANDRA-514):

      1) uses a shared memory array to rectify the fact that with the multiproc change in CASSANDRA-514 the updates to the op counts are not getting pooled correctly
      2) optionally allows the client to do round robin requests thus preventing cassandra from having to take on extra load balancing requests
      3) refactors code so there is no duplicate code making it easier to support any new operations people may want to add
      4) stress.py can now be used to generate performance graphs. It adds one new field which is the total number of operations completed for each interval which is required to show aggregate performance across intervals. It also does an append so that data points can be collected for each interval. Furthermore, the date foramt is now CSV so for easy import into Excel, R, etc.

      Generating performance graphs can be generated in 5 easy steps:
      1. nosetests --tests=system.stress:Stress.insert &
      2. tail -f /tmp/progress_insert (just to watch and make sure it's working)
      3. fire up R (www.r-project.org/)
      4. w = read.table("/tmp/progress_insert",sep=",")
      5. plot(w[,3]/60,w[,2],ylim=c(0,10000),xlab="Elapsed time (minutes)",ylab="Writes / sec", type='l')

      Attachments

        1. stress.patch
          5 kB
          Scott White

        Activity

          People

            scottblanc Scott White
            scottblanc Scott White
            Scott White
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: