benchmark-clients icon indicating copy to clipboard operation
benchmark-clients copied to clipboard

Are Benchmark-clients look like the real clients (load and traffic)?

Open allaismail opened this issue 2 years ago • 5 comments

Hello All,

I would like to do a test on server Leshan; i want know how much of real Leshan clients can managed by one server leshan; that's why I want to know if these clients-benchmark do update resources as though they are real devices in the field (i.e. produce simulated measurements) or just make a connection (registration ...).

Thank you in advance!

Best regards,

allaismail avatar Mar 19 '23 16:03 allaismail

if these clients-benchmark do update resources as though they are real devices

I'm not sure I get this part of the question ?

sbernard31 avatar Mar 27 '23 09:03 sbernard31

Hi Bernard;

My goal is to test a server's capacity to handle multiple real devices using a simulated Leshan client. However, I believe that the current benchmark only covers the registration process. My question is: what modifications can I make to the code to make the client simulation resemble an actual device?

Best regards clientbenchmark.txt

allaismail avatar Mar 30 '23 02:03 allaismail

I'm not sure what mean an "actual device".

We start "actual leshan client". With partial implementation of objects : 0, 1 , 3 and simulated/dummy implementation of objects 5, 9 .

See : https://github.com/sbernard31/benchmark-clients/blob/c576f61303fad271f8c36d436390db44bd9efee4/src/main/java/org/eclipse/leshan/benchmark/client/BenchClient.java#L101-L121

If your server tries to READ/WRITE some resources of those objects this should work.

If you want more object/instances just add more simulated/dummy ones. if you want more "real" behavior just implement your own ObjectEnabler. See :

  • https://github.com/eclipse/leshan/wiki/Getting-Started-:-Client (documentation for Leshan 1.x)
  • https://github.com/eclipse/leshan/wiki/Adding-new-objects#leshan-client

sbernard31 avatar Mar 30 '23 08:03 sbernard31

Thank you very much for your help,

I've simulated 100 clients that connect to the Leshan server; and I can read/write/OBS some resources of some objects from the server. But my question: Is there any possibility that all clients send all data at the same time to the server each period of time without waiting for the server to request for each client?

Best regards;

allaismail avatar Mar 31 '23 11:03 allaismail

You can try to play with this options :

-s, --start-time=<startTime>
                          Time to start all clients in seconds.
                          Default: number-of-client*3 seconds.

but not sure you will be able to launch all client at same time.

sbernard31 avatar Mar 31 '23 12:03 sbernard31