I have deployed a web application (company's website) in ACE appliance. Now the performace testing team is saying that ACE is degrading the performace of application. Since I have upgraded the ACEs with a new license, I thought of utilizing the optimization feature of ACE.
Architecture of application is:
Ace is connected to 2 web servers, which are further connected to the application servers. These web servers were earlier Apache Web Servers but now they have removed Apace and installed some Oracle's webserver which does caching. The only reason of removing Apache is, Oracle does caching which will increase the performance.
Here is the configuration i have done in ACE. Please suggest if any changes required.
action-list type optimization http WebPortal-Opt
parameter-map type optimization http WebPortal-Para-Opt
serverfarm host WebPortal-Srvrfrm-8001
predictor hash cookie JSESSIONID
rserver WebPortal-Server-64 8001
rserver WebPortal-Server-65 8001
sticky http-cookie JSESSIONID group-WebPortal-8001
class-map match-any WebPortal-8001
2 match virtual-address 172.18.126.143 tcp eq 8001
policy-map type loadbalance first-match WebPortal-l7slb-8001
policy-map type optimization http first-match WebPortal-Opt-Policy
action WebPortal-Opt parameter WebPortal-Para-Opt
policy-map multi-match Service-Policy-WebPortal-8001
loadbalance vip inservice
loadbalance policy WebPortal-l7slb-8001
optimize http policy WebPortal-Opt-Policy
loadbalance vip icmp-reply
Thanks in advance...
Before changing everything in your config and making it more complicated, maybe you should first define what the performance degradation is.
Does it apply to all connections or just some of them ?
Could you capture a sniffer trace when doing directly to the server and when going through ACE.
Compare the 2 traces and see if there is really a delay and where it's coming from ACE or server.
Adding an extra device between client and server will obviously introduce a small delay corresponding to the processing time.
If you compare a single connection you might think the loadbalancer is useless.
But if you test with a large amount of simultanous connections, you should then see the improvement.
Performance degradation I mean to say is latency and now 'connection time out' also. If I check the latency from my machine with HTTP Watch, I get the same response which i get while accessing the application directly from application server. But testing team is using different tools to check load testing and benchmark. When they increase the users to 100 they face latency and exceptions. In the night they ran a test and here are the errors.
General un-handled exception occurred during socket I/O read from web-server '172.18.126.143' retrieving URI '/AircelPortal/aircel.portal;jsessionid=rYy8LGGM8pD26t6CgsJ7LhKvLRwWBGjhzV1864fQssgQG9lhWKlt!1326233195?_nfpb=true&_pageLabel=Products_BlackBerry_pages_BlackBerryServices_BlackBerryInternetService_page&circleName=Tamil+Nadu'. Explanation message: 'java.io.IOException: An existing connection was forcibly closed by the remote host.'.
Error occurred during connection to server '172.18.126.143'. Explanation message: 'Address already in use: no further information'. Since this request is the primary request for the current page all secondary requests will be skipped and the next page will be attempted.
Error occurred during connection to server '172.18.126.143'. Explanation message: 'Connection timed out: no further information'. Since this request is the primary request for the current page all secondary requests will be skipped and the next page will be attempted.
This problem is coming for few pages. Some of the pages are loading fine. I will try to capture sniffer trace today and check if there is any issue.
I have deployed 20-25 other applications on this same ACE and all of them are working fine. Only here I m facing this issue. Couldnt get much time to read about the optimization. Just read a little and thought of asking whether i can improve the performace with this.
Earlier i faced the problem of session persistency because i was using ip netmask sticky. I changed it to cookie header and it got solved.
Today, I'm gonna remove the optimization policy and check if they are still getting the exceptions and errors. And then will capture sniffer logs.
Thanks a lot for your response..