cancel
Showing results for 
Search instead for 
Did you mean: 

Client simulation for MI middleware benchmark

Former Member
0 Kudos

Hi MIers,

Im new to this forum and had just started a personal project for MI.

As a requirement, I would like to run multiple concurrent sychronizations from clients to

the MI middleware and gather some data for sizing and benchmarking of network latencies

and so on... I was thinking of simulating several MI clients in from one hardware.

Could this be possible?

Any suggestions are deeply appreciated.

Thanks

Milo

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi milo,

yes it is possible however you cannot use the MI client as it is. rather you need to

recreate the behavior of the MI client; thus will require you a deep knowledge on the

message exchange protocol and data format; especially the generic sync layer.

no need of any tomcat knowledge as well...

i actually have written a program using the MI API which simulates some functions

of an MI client like device registration (which is a prerequisite since you need a

device id), delta download request, new syncbo insert. the program simulates

multiple clients running on a thread thus not to worry of getting to many devices.

i created it actually for my stress test procedures. i thought of sharing it with the

benchmarking team but it seems that what they needed that time was a little bit

different. i don't have any idea how the current team is doing the benchmarks or

stress tests... they might have written the same tool internally (?)...

i think i still have the src code of the program but not sure if it works with the

current release. it was SP14 when i created it. anyway, mail me offline and let's

see how i can help.

regards

jo

Former Member
0 Kudos

Hello Jo Gel,

Thank you for your reply. At the moment I still have don't have the final list of requirements on the said benchmarking and server load test. After some evaluations done with some test tools like LoadRunner, they don't seem to fit or just cant be used for this situation. I do agree with what you said that a knowledge on the MI protocol is necessary. Do you know any documents or resource links where I can refer to on MI protocol topic?

From the help documents, MI has a Generic Synchronization and Smart Synchronization

features. How do these features relate to each other in terms of the message protocol?

I will do ask what your suggested on checking with the Generic Sync API first.

Thanks

Milo

Former Member
0 Kudos

hi milo,

i don't think that the MI protocol is being made public in the form of a written doc.

making it public will enable synchronization from different programs or frameworks

other than the MI client. it would reflect also a responsibility for SAP to support

downward compatibility whenever there'll be changes in the protocol specs.

regarding the SmartSync and GenericSync relationship, SmartSync is actually

just a GenericSync application. when SmartSync sends it messages it uses the

GenericSync API which is responsible for sending the containers. there's also

another protocol for SmartSync like delta request, sync and async, reset and

other types of messages as well as eventing and persistence layer...

well goodluck.

jo

Former Member
0 Kudos

Hi Jo,

Thanks for the reply. So if the protocol is not publicly released, how would you or me be able to get into this? How familiar are you with the exchange protocols? Do you have some notes on which to share? Or some articles? blogs? (Oh your blogs are really very helpful I hope that you would write more especially on this topic).

I would appreciate any suggestions.

Thanks

Milo

Former Member
0 Kudos

hi milo,

>how would you or me be able to get into this?

I was part of the MI client development for the smartsync layer. thus I was familiar

with message processing on the smartsync layer. genericsync layer was off my

responsibility however, i was able to get deeper by studying the logs. as a hint i

used HTTPWatch (sometimes Ethereal) to get the actual messages being sent

to MI server and the corresponding response.

>How familiar are you with the exchange protocols?

I guess Im very familiar with both the generic and smartsync protocols but that was

during SP14. im not sure now since there could have been some changes or added

features... T51 for example was still not there during that time.

>Do you have some notes on which to share? Or some articles? blogs?

sorry I don't have them anymore. I actually started writing blogs/articles for SDN

while those knowledge are still fresh in memory. my current job is not really to

SAP. thus it's just a matter of time that what i knew were the old stuffs then.

anyway, i will try answering your questions whenever i can... offline or here in forum

46. i would suggest you to post it here in the forum though since we have the MI

developers here as well as MI specialists to answer your doubts.

regards

jo

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Milo

Adding to what Karthik said, it is not possible to install more than one client on your desktop since every installation of MI Client makes registry entry in the Windows OS. Hence as a workaround, once you have installed one client on your desktop, copy & paste the installation to several folders of your choice say C:\Program Files\SAP Mobile Infrastructure1, C:\Program Files\SAP Mobile Infrastructure2 and so on. Once this is done, it is mandatory to change the following files in your client installation directory to point the new folder location.

1. startup.bat

2. shutdown.bat

3. listOfJars.txt

Also please read the blog written Jo Gel which explains the same scenaio in a detail procedure. /people/sap.user72/blog/2006/03/01/how-to-concurrently-execute-multiple-mi-clients

Hope this helps

Best Regards

Sivakumar

Former Member
0 Kudos

THanks Siva & Karthik,

I had tried what Jo Gel Santiago had described in his post. But what Im looking is a simulator which could enable to sync 100s of clients. It would be very difficult to create 100 copies of the MI client and controlling them one by one.

So how does or what does SAP recommend for sizing the MI server? For sure it should have used a kind of client simulator get the base number of clients for a certain hardware spec. I doubt they would did it using 100 or more than MI clients with their human operators...

Any other suggestions?

Milo

Former Member
0 Kudos

Hi Milo,

There is a possibility of doing this although I havent tried it myself, what you can do is change the ports in the following files, the default is 4444

1. server.xml (present in the conf folder)

2. start_me.html (root folder)

3. starturl.txt (root folder)

Create a new file called port.txt and enter the new port number in this file and save.

So for every installation in the client have a different port number and then you should be able to simulate several MI client in one hardware.

Hope this works!

Best Regards,

Karthik