Re: less invocation time with larger data size
John McClain <[email protected]>
| Newsgroups | gmane.comp.java.sun.jini |
|---|---|
| Message-ID | <[email protected]> |
If you are interested in under standing JERI's performance, getting rid of the database is definitely a good idea. A few other question come to mind. First, what VM impl are you using and how many iterations are you running for each test? When using hotspot in server mode for a benchmark I tend to throw out the first 30,000 or so calls, because it can take that long hotspot to "warm up" (it is really something you should be measuring as part of your test). If you are running the 100 and 500 in the same VM (without a restart in between) and running the 100 test first they might be slower because of hotspot. Are the client and server on the same machine? How many CPUs does the server have? When you say the two client version is faster are your really measuring latency or throughput? If you are measuring latency is it for both or just one of the clients? If the client and server are on different machines I would expect your throughput to go up as you add client threads (to some limit tied to how many CPUs the server had). Calum Shaw-Mackay wrote: > What database are you connecting to, my thoughts might be to try and > look at connecting to other database including an embedded one such as > HSQLDB, because this may have to do with caching in the data access > layers. > > Other things to try are to get the two record sets (100) and (500) and > pre-populate these as test objects and don't repeatedly go back to the > data base so you can test out the serialization independently from the > data access > > Cheers > > --Calum > > On 25/02/07, fatma elshehri <[email protected]> wrote: >> Hi, >> >> I do not consider the first invocation when i try this experiment. It >> is a >> fact that there are repeated values in the records that i retrieve >> from the >> databse and this means that serialization will be optimized, so this may >> lead to making invocation time for two clients very near to it for one >> client, but not less than it for one client, I GUESS! >> Also, optimization can make invocation time for say 500 record to be very >> near to it for 100 record, what happens is that some times time for 500 >> record is less than 100 record. >> >> i really appreciate any feedback >> >> Thanks, >> Regards, >> >> Fatma >> >> Calum Shaw-Mackay <[email protected]> wrote: >> Hi Fatma- >> >> Is this an observable steady decrease over time and may invocations? >> >> The first time you connect to a service, it will have to download the >> codebase jar, which will skew any kind of reative results if you don;t >> takt that into account. >> >> Also, if many of your results have, say the same string, serialization >> should optimize by referencing multiple copies of the same string (aka >> same sequence of characters) to the same reference. >> >> Can you give some more details? >> >> Cheers >> >> --Calum >> >> On 25/02/07, Fatma Elshehri wrote: >> > Hello all, >> > >> > i would like to share with you results that i got from a Jini >> application >> > i am developing. it is a server that takes an SQL query form the >> client, >> > connects to the database to retrieve the required data and send it >> back to >> > the client. what happened is that invocation time decreases with >> > increasing size of data. also, invocation time if one client only >> > connected to the server and invoking the method is greater than it >> if two >> > clients are invoking the method at the same time. >> > >> > please if any one has experienced something like this let me know >> because >> > it is really very important for me >> > >> > Thanks, >> > Regards, >> > >> > Fatma >> > -------------------------------------------------------------------------- Getting Started: http://www.jini.org/wiki/Category:Getting_Started Community Web Site: http://jini.org jini-users Archive: http://archives.java.sun.com/archives/jini-users.html Unsubscribing: email "signoff JINI-USERS" to [email protected]