on 02-20-2007 8:23 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.