[ grinder-Feature Requests-1849150 ] Sync Points (Feature request)
SourceForge.net <[email protected]> Sun, 09 Oct 2011 11:13:48 +0100
| Newsgroups | gmane.comp.java.grinder.devel |
|---|---|
| Message-ID | <[email protected]> |
Feature Requests item #1849150, was opened at 2007-12-12 06:50 Message generated for change (Comment added) made by philipa You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=368598&aid=1849150&group_id=18598 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Core engine Group: None >Status: Pending Priority: 5 Private: No Submitted By: Aditya (aditya2k) Assigned to: Philip Aston (philipa) Summary: Sync Points (Feature request) Initial Comment: I would like to see the ability to add sync points in the script. A worker should execute the script till it reaches a sync point. When all the other workers reach the sync point, then all workers resume till the end or another sync point is reached. This is really useful if we want to perform a bunch of actions before the real action that we want to load-test. ---------------------------------------------------------------------- >Comment By: Philip Aston (philipa) Date: 2011-10-09 11:13 Message: Implemented Alex Miller's #3 for next version: http://grinder.git.sourceforge.net/git/gitweb.cgi?p=grinder/grinder;a=commit;h=dcdc377f83d046e8cdbdbc553921b990ae91d36f ---------------------------------------------------------------------- Comment By: Alex Miller (alexdmiller) Date: 2007-12-18 16:20 Message: Logged In: YES user_id=1668104 Originator: NO I also have this need. We call these "phases". One phase may apply a certain kind of load, then the next phase changes the load in some way. We want all the workers to change at the same point. I would want this synchronization to occur across both processes and threads. There are really two kinds of phases - one where each worker has an explicit number of actions to take and should wait at a synch point before continuing and another where workers should execute for some duration. I need both kinds. Ideas I have on implementation: 1) Use Terracotta (http://terracotta.org) to cluster the grinder worker processes, then use any standard thread synchronization primitive in Java to synchronize the threads across the entire cluster (for example: CyclicBarrier, CountdownLatch, wait/notify, etc). Ideally, there would be some super simple way to write scripts and enable them to sync without needing to use the primitive directly. I actually work for Terracotta and may implement this as part of some testing I'm doing using the Grinder. If I do, I'll be happy to make whatever I do available. Terracotta is open source and free. 2) Another idea that I might also pursue simply because I'm testing Terracotta and not sure if I want to involve my testing infrastructure in the system under test is to just use the reading/writing of files on a shared file system for synchronization. Seems like it would be pretty simple for every thread/process to write a dummy file somewhere as they finish their phase and then trigger the next phase when all files are written. An ugly hack, but probably workable. 3) Sockets and signaling from the console is of course another choice but I think I'm too lazy to try it. :) ---------------------------------------------------------------------- Comment By: Aditya (aditya2k) Date: 2007-12-12 20:46 Message: Logged In: YES user_id=298252 Originator: YES Yes, that is correct. ---------------------------------------------------------------------- Comment By: Philip Aston (philipa) Date: 2007-12-12 08:27 Message: Logged In: YES user_id=2117 Originator: NO I presume you are looking for this sync point to work across different worker processes, and not just between the worker threads within a single process? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=368598&aid=1849150&group_id=18598 ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2