[CalendarServer-changes] [7789] CalendarServer/trunk/contrib/performance/loadtest
source_changes at macosforge.org
source_changes at macosforge.org
Thu Jul 14 08:10:29 PDT 2011
Revision: 7789
http://trac.macosforge.org/projects/calendarserver/changeset/7789
Author: exarkun at twistedmatrix.com
Date: 2011-07-14 08:10:29 -0700 (Thu, 14 Jul 2011)
Log Message:
-----------
Count failures separately for each method, instead of accumulating them as we go.
Modified Paths:
--------------
CalendarServer/trunk/contrib/performance/loadtest/population.py
CalendarServer/trunk/contrib/performance/loadtest/test_population.py
Modified: CalendarServer/trunk/contrib/performance/loadtest/population.py
===================================================================
--- CalendarServer/trunk/contrib/performance/loadtest/population.py 2011-07-14 13:49:20 UTC (rev 7788)
+++ CalendarServer/trunk/contrib/performance/loadtest/population.py 2011-07-14 15:10:29 UTC (rev 7789)
@@ -333,11 +333,11 @@
# Upper limit on ratio of >5sec requests to total requests
fiveSecCutoff = 0.01
- failures = 0
- threeSec = 0
- fiveSec = 0
-
for (method, times) in self._perMethodTimes.iteritems():
+ failures = 0
+ threeSec = 0
+ fiveSec = 0
+
for success, duration in times:
if not success:
failures += 1
@@ -358,7 +358,6 @@
method=method, cutoff=cutoff * 100))
return reasons
-
Modified: CalendarServer/trunk/contrib/performance/loadtest/test_population.py
===================================================================
--- CalendarServer/trunk/contrib/performance/loadtest/test_population.py 2011-07-14 13:49:20 UTC (rev 7788)
+++ CalendarServer/trunk/contrib/performance/loadtest/test_population.py 2011-07-14 15:10:29 UTC (rev 7789)
@@ -109,3 +109,26 @@
self.assertEqual(
["Greater than 1% GET exceeded 5 second response time"],
logger.failures())
+
+
+ def test_methodsCountedSeparately(self):
+ """
+ The counts for one method do not affect the results of another method.
+ """
+ logger = ReportStatistics()
+ for i in range(99):
+ logger.observe(dict(
+ type='response', method='GET', success=True,
+ duration=2.5, user='user01'))
+ logger.observe(dict(
+ type='response', method='POST', success=True,
+ duration=2.5, user='user01'))
+
+ logger.observe(dict(
+ type='response', method='GET', success=False,
+ duration=2.5, user='user01'))
+ logger.observe(dict(
+ type='response', method='POST', success=False,
+ duration=2.5, user='user01'))
+
+ self.assertEqual([], logger.failures())
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110714/05441a9c/attachment.html>
More information about the calendarserver-changes
mailing list