D
dbeavon
Guest
Thanks Irfan. I have been quite happy with the tomcat/mproapsv performance for the most part. I think PAS is faster in the places that matter. The only thing I noticed is the same as what you showed in the table - there is a fixed cost overhead for single-threaded clients which, while it is small, it is a little more than what we had in classic appserver . If the fixed cost is 10 ms and the work being done takes only 3 ms, then the overhead is relatively large as a percentage. I have a number of examples where PAS is slower because a lot of small, single-threaded requests are being done in tight loop. The good news is that a well-designed front-end can either be re-worked to incorporate more business logic into a single round-trip to appserver, or it can leverage parallel or async coding techniques to make multiple requests at the same time (which is where PAS really shines). Another thing that came to mind insofar as my APSV clients are concerned is that, even though they are "state-free", I think they are still using persistent procedures (for the sake of the proxygen-built proxies). This means there are additional round-trips to create the persistent procedure up-front and then to delete it at the end. Those round-trips are probably more expensive than they were in classic appserver, and they may be where the higher fixed overhead in PAS comes from. I've been meaning to test out the "SINGLE-RUN" feature for making a single request on a state-free agent. I suspect that might substantially diminish the 10 ms overhead. Unfortunately I don't think proxygen for .Net will help to facilitate that type of round-trip by default. (You have to program against the dynamic "OpenAPI" functionality as outlined here: documentation.progress.com/.../index.html . Note that this would still use the APSV transport, but perhaps a faster form of it.
Continue reading...
Continue reading...