Hi Venkat, The drop of the performance of LB compared to GW Framework seems to be way too much. I think we can't afford to lose nearly 50% of throughput because of the LB components. Let's try to identify the bottlenecks related to LB code.
On Tue, Aug 9, 2016 at 4:18 PM, Venkat Raman <vraman2...@gmail.com> wrote: > Hi Isuru & Kasun, > > Please find the attached results document. As discussed, I created a new > VM for bench-marking. > > It seems like TPS of 20,000 (from yesterday's results) even at higher > concurrency level is not accurate. Sorry for the confusion caused. > Most of the time endpoints were marked as unHealthy and direct error > response is returned by LB Mediator which resulted in high TPS. I tried > multiple bench-marking from yesterday and I was never able to achieve that > result. > > In this test, to avoid such cases, higher no of unHealthyRetries count has > been configured. > > Also, I've bench-marked performance of GW-FMW using i-server with this > simple > <https://github.com/Venkat2811/product-http-load-balancer/blob/master/performance-benchmark/gw-framework/router.iflow> > configuration. It is a simple route even without if-else conditions. > > As you can see, It is performing 2X faster than LB. > > Next steps would be to do memory benchmark and plot graphs with these > values. Once repo, documentation and blog is ready, I'll be using JFR to > identify bottle necks and on fine-tuning LB's performance. > > Will be looking forward to hear your feedback on this. > > > > > > *Thanks,* > *Venkat.* > > On Tue, Aug 9, 2016 at 1:13 AM, Venkat Raman <vraman2...@gmail.com> wrote: > >> Sure Kasun, I'll do a perf-benchmark between iserver and LB in a new VM >> as discussed. >> >> Thanks, >> Venkat. >> On Aug 9, 2016 12:55 AM, "Kasun Indrasiri" <ka...@wso2.com> wrote: >> >>> >>> - Compare GW framework perf vs LB (need to identify if any perf impact >>> from the LB related code). >>> - Identify the reason for the apparent perf bottleneck with high >>> concurrency. >>> >>> On Mon, Aug 8, 2016 at 10:55 AM, Venkat Raman <vraman2...@gmail.com> >>> wrote: >>> >>>> Hi Kasun, >>>> >>>> Please find the latest results after Saturday's code review. >>>> >>>> >>>> >>>> >>>> *Thanks,* >>>> *Venkat.* >>>> >>>> On Mon, Aug 8, 2016 at 10:06 AM, Venkat Raman <vraman2...@gmail.com> >>>> wrote: >>>> >>>>> Hi Isuru, >>>>> >>>>> Good morning. Please find 11th week's progress. >>>>> >>>>> 1) Had code reviews and made few suggested corrections. >>>>> 2) Did some groundwork for using JFR >>>>> >>>>> Will be continuing to work on performance tuning. >>>>> >>>>> @Kasun - Tomorrow is August 9th. Can we have demo ? >>>>> >>>>> >>>>> >>>>> *Thanks,* >>>>> *Venkat.* >>>>> >>>>> On Sat, Aug 6, 2016 at 10:16 PM, Venkat Raman <vraman2...@gmail.com> >>>>> wrote: >>>>> >>>>>> Hi Isuru, >>>>>> >>>>>> Here are the findings from today's review: >>>>>> >>>>>> 1) Change CallMediatorMap from ConcurrentHashMap to HashMap >>>>>> 2) Remove unnecessary Synchronized block while checking >>>>>> areAllEndpointsUnhealthy() >>>>>> 3) Rename LoadBalancerCallMediator to LBEndpointsCallMediator >>>>>> 4) Give a PR by adding getUri() method to gateway-framework >>>>>> 5) Use JavaFlightRecorder while doing benchmark to identify >>>>>> bottlenecks >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *Venkat.* >>>>>> >>>>>> On Fri, Aug 5, 2016 at 1:43 PM, Venkat Raman <vraman2...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Hi Isuru, >>>>>>> >>>>>>> Please find the attached latest bench-mark without synchronization, >>>>>>> callBackpool, healthcheck. >>>>>>> >>>>>>> Throughput is just 1000 times faster than my current >>>>>>> implementation. >>>>>>> >>>>>>> It is drastically falling because of some other reason. >>>>>>> >>>>>>> >>>>>>> *Thanks,* >>>>>>> *Venkat.* >>>>>>> >>>>>>> On Fri, Aug 5, 2016 at 10:09 AM, Venkat Raman <vraman2...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi IsuruU, >>>>>>>> >>>>>>>> FYI >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> *Thanks,* >>>>>>>> *Venkat.* >>>>>>>> >>>>>>>> ---------- Forwarded message ---------- >>>>>>>> From: Venkat Raman <vraman2...@gmail.com> >>>>>>>> Date: Thu, Aug 4, 2016 at 10:39 AM >>>>>>>> Subject: Re: GSoC Project: HTTP Load Balancer on Top of WSO2 >>>>>>>> Gateway Discussion >>>>>>>> To: Isuru Ranawaka <isu...@wso2.com>, Kasun Indrasiri < >>>>>>>> ka...@wso2.com> >>>>>>>> Cc: DEV <dev@wso2.org>, Senduran Balasubramaniyam < >>>>>>>> sendu...@wso2.com> >>>>>>>> >>>>>>>> >>>>>>>> Hi Isuru & Kasun, >>>>>>>> >>>>>>>> Please find the attached result document >>>>>>>> (raw-engine-transport.xlsx). I've done test with raw-engine-transport >>>>>>>> without any BE. It is performing great and is close to Netty based >>>>>>>> BE !! >>>>>>>> >>>>>>>> Problem is with LB only. >>>>>>>> >>>>>>>> My guess is that CallbackPool (using concurrent HashMap) that we >>>>>>>> are using to determine timeout is the bottle neck. I'll disable >>>>>>>> Callback >>>>>>>> pool and do bench-mark and update you on that. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> *Thanks,* >>>>>>>> *Venkat.* >>>>>>>> >>>>>>>> On Thu, Aug 4, 2016 at 9:48 AM, Venkat Raman <vraman2...@gmail.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Okay Isuru. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *Thanks,* >>>>>>>>> *Venkat.* >>>>>>>>> >>>>>>>>> On Thu, Aug 4, 2016 at 9:42 AM, Isuru Ranawaka <isu...@wso2.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi venkat, >>>>>>>>>> >>>>>>>>>> Yes we can. lets have a call today around 9.30 p.m >>>>>>>>>> >>>>>>>>>> On Thu, Aug 4, 2016 at 9:34 AM, Venkat Raman < >>>>>>>>>> vraman2...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Isuru, >>>>>>>>>>> >>>>>>>>>>> Good morning. Yesterday night, I spoke with Kasun regarding the >>>>>>>>>>> latest update on bench-mark results. Even without any locking >>>>>>>>>>> performance >>>>>>>>>>> is not good after concurrency of 5000. >>>>>>>>>>> >>>>>>>>>>> As you have done bench-mark till concurrency of 3000, we both >>>>>>>>>>> would like to do bench-marking on raw carbon-transport upto >>>>>>>>>>> concurrency of >>>>>>>>>>> 10,000 and 1,00,000 requests so that we get an idea on this. >>>>>>>>>>> >>>>>>>>>>> How do we do that ? Will a simple response from engine suffice >>>>>>>>>>> ? Can I use LB to send simple response directly without doing any >>>>>>>>>>> mediation ? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> *Thanks,* >>>>>>>>>>> *Venkat.* >>>>>>>>>>> >>>>>>>>>>> On Thu, Aug 4, 2016 at 12:19 AM, Venkat Raman < >>>>>>>>>>> vraman2...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Isuru, >>>>>>>>>>>> >>>>>>>>>>>> Please find the attached bench-mark results. As discussed, >>>>>>>>>>>> I've disabled health-checking and removed synchronized block and >>>>>>>>>>>> used >>>>>>>>>>>> atomic Integer in one test and also did a test without any kind of >>>>>>>>>>>> lock or >>>>>>>>>>>> use of atomic integers. >>>>>>>>>>>> >>>>>>>>>>>> Throughput and latency results are positive. But, after >>>>>>>>>>>> concurrency level of 5000 it is not that good. So even If we use >>>>>>>>>>>> read-write lock or stamped lock, we will get performance little >>>>>>>>>>>> performance >>>>>>>>>>>> gain only. >>>>>>>>>>>> >>>>>>>>>>>> I feel that If we can do bench-mark with integration-server >>>>>>>>>>>> upto 10000 concurrent connections we'll get a better idea. Is >>>>>>>>>>>> that okay ? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> *Thanks,* >>>>>>>>>>>> *Venkat.* >>>>>>>>>>>> >>>>>>>>>>>> On Tue, Aug 2, 2016 at 9:39 PM, Venkat Raman < >>>>>>>>>>>> vraman2...@gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi Isuru & Kasun, >>>>>>>>>>>>> >>>>>>>>>>>>> Please find the findings from today's code review. >>>>>>>>>>>>> >>>>>>>>>>>>> 1) Locking in getNextLBOutboundEndpoint() method in algorithm >>>>>>>>>>>>> implementation is causing over-head. We have to find a way to >>>>>>>>>>>>> efficiently >>>>>>>>>>>>> handle communication between threads to reduce locking overhead. >>>>>>>>>>>>> >>>>>>>>>>>>> 2) Code repo freeze by August 15th for the sake of GSoC. If >>>>>>>>>>>>> we can find a way to overcome locking over-head before August >>>>>>>>>>>>> 15th that >>>>>>>>>>>>> changes will be added to code repo. Otherwise it will be added >>>>>>>>>>>>> after GSoC. >>>>>>>>>>>>> >>>>>>>>>>>>> 3) TPS, Latency and Memory graphs to be added. >>>>>>>>>>>>> >>>>>>>>>>>>> 4) Blog post and PDF documentation. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> *Thanks,* >>>>>>>>>>>>> *Venkat.* >>>>>>>>>>>>> >>>>>>>>>>>>> On Mon, Aug 1, 2016 at 9:25 AM, Venkat Raman < >>>>>>>>>>>>> vraman2...@gmail.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Isuru, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Good morning. Please find 10th week's progress. >>>>>>>>>>>>>> >>>>>>>>>>>>>> 1) Had discussion with Kasun. >>>>>>>>>>>>>> 2) As suggested, did performance bench-marking using Netty >>>>>>>>>>>>>> BE, and it turns out that our LB is beating Nginx till >>>>>>>>>>>>>> concurrency level of >>>>>>>>>>>>>> 6000 after which it is not performing well. >>>>>>>>>>>>>> I've attached the results. >>>>>>>>>>>>>> >>>>>>>>>>>>>> I've started a new thread as Conversation arrangement is not >>>>>>>>>>>>>> good in previous one. >>>>>>>>>>>>>> >>>>>>>>>>>>>> It would be great if we can have a code review Isuru. Based >>>>>>>>>>>>>> on your feedback I'll be abe to make changes and we can do >>>>>>>>>>>>>> bench-marking >>>>>>>>>>>>>> again. Can we do it today 9:30 PM ? We have only 2 full weeks >>>>>>>>>>>>>> more. The >>>>>>>>>>>>>> last week will be for documentation. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> *Thanks,* >>>>>>>>>>>>>> *Venkat.* >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Best Regards >>>>>>>>>> Isuru Ranawaka >>>>>>>>>> M: +94714629880 >>>>>>>>>> Blog : http://isurur.blogspot.com/ >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >>> >>> -- >>> Kasun Indrasiri >>> Director, Integration Technologies >>> WSO2, Inc.; http://wso2.com >>> lean.enterprise.middleware >>> >>> cell: +1 650 450 2293 >>> Blog : http://kasunpanorama.blogspot.com/ >>> >> > -- Kasun Indrasiri Director, Integration Technologies WSO2, Inc.; http://wso2.com lean.enterprise.middleware cell: +1 650 450 2293 Blog : http://kasunpanorama.blogspot.com/
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev