A little mistake in my last replay:
It should be:
there is coupling between the server's 'A-ack' (not 'A' as written)
messegase queue and the client's 'A-ack' queue

On Wed, 22 Sep 2004 08:21:13 -0400, "Michael Stover"
<[EMAIL PROTECTED]> said:
> I must be seriously misunderstanding something because, to me, it sounds
> like you are describing a bunch of independent threads doing three
> sequential steps, which is exactly how JMeter works.  See my comments
> below:
> 
> On Wed, 2004-09-22 at 05:35, [EMAIL PROTECTED] wrote:
> > I know that this mailing list is not meant for design, but if we already
> > started...
> > 
> > I'm sorry, but I've to disagree. We're talking about client/server
> > architecture, I'm a client and I want to send maximum load to the
> > server.
> > In one thread architecture it will look like that:
> > 
> > Thread(loop)
> >  |- Send TCP/IP message (to server)
> >  |
> >  |- Wait for TCP/IP Ack message (from server)
> 
> Two sequential steps.
> 
> > 
> > In an implementation like that, there will be a situation called 'window
> > size = one', that means that the client can't send another message till
> > it gets an ack message from the server (it can send just one message
> > till the ack), and that reduces the load significantly (that's a fact),
> > I don't want to wait for the Acks, I want to keep sending. 
> 
> You say you don't want to wait, but you contradict that below.  In fact,
> it seems you have to wait.
> 
> > by decoupling those processes I can also elaborate things, like I
> > described in the previous mail:
> > 
> > Thread1(loop)
> >  |- Send message A
> > 
> > Thread2(loop)
> >  |- Wait for Ack (save a special field - f1, push in shared Q)
> > 
> > Thread3(loop)
> >  |- Send message B sometimes in the future (according to field f1 - pop
> >  from shared Q)
> 
> Now you are describing three sequential steps, each dependent on the
> previous step.  For some reason, you want to use three threads and make
> them wait on one another (complicated) when a single thread will simply
> work that way.
> 
> > 
> > As you can see, I can't do it in one thread (I won't be able to send a
> > second message A till the B message will be send
> 
> With a single thread, that's true, but a single thread is simulating a
> single client, and this is how clients work, no?  But add a second
> thread (second client), and now you have two 'message A' being sent
> simultaneously.  Add 500 threads, and you'll have 500 parallel message
> A's.
> 
> >  - sometime in the
> > future). I want to send as much messages A in a second, as I can.
> 
> I would like to see how you would do it with 3 threads, and keep each
> set of message A - Ack - message B together.  Certainly you can't do it
> in JMeter even with some global variable storage.
> 
> -Mike
> 
> > 
> > And now for the real problem, you wrote: "Variables are not shared
> > across threads. JMeter simulates multiple independent users", That's
> > okay, I want to simulate it myself. like the "User Defined Variables" in
> > the Test Plan.
> > 
> > Can you write something on how it is done (ValueReplacer...)
> > 
> > Thanks a million
> > 
> > P.S
> > I can always use global queue, but... you know
> > 
> > 
> > 
> > On Tue, 21 Sep 2004 11:16:29 -0400, "Michael Stover"
> > <[EMAIL PROTECTED]> said:
> > > That seems like exactly the sort of thing you'd do in one thread.  An
> > > initial request gets some data and a subsequent request uses it.  How
> > > else would you manage 100 threads doing this?
> > > 
> > > -Mike
> > > 
> > > On Tue, 2004-09-21 at 10:53, [EMAIL PROTECTED] wrote:
> > > > Okay, so how can I do it?
> > > > What I'm planing, is to use in one thread, a derived
> > > > 'AbstractJavaSamplerClient' to get TCP/IP packet (a request) and to pars
> > > > it. according to this request, another thread will send another request
> > > > (let's say the ack part) - using other derived
> > > > 'AbstractJavaSamplerClient' that will be under an 'IfController' (in the
> > > > 'IfController' the user will "ask" if a specific value equals to
> > > > something).
> > > > I don't think it's wise to do both process in the same thread.
> > > > 
> > > > Thanks again, especially for your quick answer.
> > > > 
> > > > On Tue, 21 Sep 2004 09:50:01 -0400, "Michael Stover"
> > > > <[EMAIL PROTECTED]> said:
> > > > > Variables are not shared across threads.  JMeter simulates multiple
> > > > > independent users, so there hasn't been any need to shared data amongst
> > > > > the threads during the test run.
> > > > > 
> > > > > -Mike
> > > > > 
> > > > > On Tue, 2004-09-21 at 09:27, [EMAIL PROTECTED] wrote:
> > > > > > I want to save variables that were initialized in one thread, so they
> > > > > > will be seen in other thread.
> > > > > > There is an easy way to save variables in the thread's context:
> > > > > > JMeterContext context = getThreadContext();
> > > > > > JMeterVariables vars = context.getVariables();
> > > > > > vars.put(....
> > > > > > 
> > > > > > But trying to save variables so they will be seen in all the threads is
> > > > > > much harder, I looked at: PreCompiler.addNode(Object,HashTree)
> > > > > > and in my code tried naively to write:
> > > > > > JMeterContextService.getContext().getVariables().put("code", "value");
> > > > > > but this key was unvisible in other threads. I've noticed that there is
> > > > > > some action doing with an instance of 'ValueReplacer' in the 'addNode'
> > > > > > func, but still didn't figure to find out what to do.
> > > > > > Tips will be most welcom
> > > > > > 
> > > > > > Thanks.
> > > > > -- 
> > > > > Michael Stover <[EMAIL PROTECTED]>
> > > > > Apache Software Foundation
> > > > > 
> > > > > 
> > > > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > > 
> > > -- 
> > > Michael Stover <[EMAIL PROTECTED]>
> > > Apache Software Foundation
> > > 
> > > 
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> -- 
> Michael Stover <[EMAIL PROTECTED]>
> Apache Software Foundation
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
-- 
  
  [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to