On Fri, Mar 11, 2016 at 12:08 PM, Isuru Ranawaka <isu...@wso2.com> wrote:
> Hi Azeez, > > I am currently working on making disruptor optional and I will finish it > by EOD today.After that we will do the tests that kasun has mentioned and > figured out the best thread model for MSF4j to be used. > Srinath mentioned that he also can help, please sync-up with him as well. Thanks ! > > thanks > > On Fri, Mar 11, 2016 at 12:00 PM, Afkham Azeez <az...@wso2.com> wrote: > >> Shall we aim to get to the bottom of this by EoD today? >> >> On Fri, Mar 11, 2016 at 11:44 AM, Samiyuru Senarathne <samiy...@wso2.com> >> wrote: >> >>> Transport config used for the above JFR: >>> - >>> id: "jaxrs-http" >>> host: "0.0.0.0" >>> port: 8080 >>> bossThreadPoolSize: 1 >>> workerThreadPoolSize: 16 >>> parameters: >>> # - >>> # name: "execThreadPoolSize" >>> # value: 2048 >>> - >>> name: "disruptor.buffer.size" >>> value: 1024 >>> - >>> name: "disruptor.count" >>> value: 5 >>> - >>> name: "disruptor.eventhandler.count" >>> value: 256 >>> # - >>> # name: "disruptor.wait.strategy" >>> # value: "SLEEP_WAITING" >>> - >>> name: "share.disruptor.with.outbound" >>> value: false >>> - >>> name: "disruptor.consumer.external.worker.pool.size" >>> value: 256 >>> >>> >>> On Fri, Mar 11, 2016 at 11:41 AM, Samiyuru Senarathne <samiy...@wso2.com >>> > wrote: >>> >>>> Please find the attached JFR dump of MSF4J-carbon-message-disruptor >>>> test performed with following 'ab' config. >>>> An MSF4J service that 'consumes a 1KB and sleeps for 50ms before >>>> responding the same 1KB' is used as the service. >>>> >>>> ab -k -p 1kb_rand_data.txt -s 999 -c 400 -n 5000 -H "Accept:text/plain" >>>> http://204.13.85.2:8080/EchoService/echo >>>> >>>> AB Results Summary: >>>> Concurrency Level: 400 >>>> Time taken for tests: 30.224 seconds >>>> Complete requests: 3000 >>>> Failed requests: 0 >>>> Keep-Alive requests: 3000 >>>> Total transferred: 3345000 bytes >>>> Total body sent: 3609000 >>>> HTML transferred: 3072000 bytes >>>> Requests per second: 99.26 [#/sec] (mean) >>>> Time per request: 4029.882 [ms] (mean) >>>> Time per request: 10.075 [ms] (mean, across all concurrent >>>> requests) >>>> Transfer rate: 108.08 [Kbytes/sec] received >>>> 116.61 kb/s sent >>>> 224.69 kb/s total >>>> >>>> >>>> >>>> On Fri, Mar 11, 2016 at 10:39 AM, Samiyuru Senarathne < >>>> samiy...@wso2.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> Please find results of the tests I have done so far. >>>>> >>>>> https://docs.google.com/a/wso2.com/spreadsheets/d/16TXeXU022b5ILqkRsY3zZdnu2OiA3yWEN42xVL8eXa4/edit?usp=sharing >>>>> >>>>> MSF4J 1.0.0 section of this tests gives a good insight into the netty >>>>> thread behaviour. I focused a bit more on that because confirming the >>>>> practical behaviour of netty thread model is one of the first things we >>>>> should do. >>>>> >>>>> According to these results, >>>>> >>>>> - Increasing the netty boss pool does not make any difference. >>>>> - For the netty worker pool, it's enough to have a number of >>>>> threads equal to the number of cpus. >>>>> - Increasing the number of threads of the pool of the netty >>>>> handler that does the actual work increases the performance >>>>> significantly >>>>> for high concurrency levels. >>>>> >>>>> Regarding the tests that include disruptor, >>>>> I applied the optimal configurations according to [1]. But I could not >>>>> get results even close to the results of GW and the results I got are bit >>>>> strange (99 TPS regardless of concurrency level). I think we should try >>>>> more variations of disruptor settings before coming to a conclusion. >>>>> >>>>> [1] - >>>>> https://docs.google.com/a/wso2.com/spreadsheets/d/1ck2O7eMkswJSQCgW8ciOkIyZkXGiZhIxRWNN-R9vgMk/edit?usp=sharing >>>>> >>>>> Best Regards, >>>>> Samiyuru >>>>> >>>>> On Fri, Mar 11, 2016 at 10:06 AM, Afkham Azeez <az...@wso2.com> wrote: >>>>> >>>>>> I think Samiyuru tested with that nrw worker pool & still the >>>>>> performance is unacceptable. >>>>>> On Mar 11, 2016 9:45 AM, "Isuru Ranawaka" <isu...@wso2.com> wrote: >>>>>> >>>>>>> Hi , >>>>>>> >>>>>>> We have already added native worker pool for Disruptor and Samiyuru >>>>>>> is doing testing on that. We will make disruptor optional as well. >>>>>>> >>>>>>> thanks >>>>>>> >>>>>>> On Thu, Mar 10, 2016 at 9:29 AM, Kasun Indrasiri <ka...@wso2.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Yes, we can make the disruptor optional. Also, we should try using >>>>>>>> the native worker pool for Event Handler[1], so that the Disruptor >>>>>>>> itself >>>>>>>> runs the event handler on a worker pool. We'll implement both >>>>>>>> approaches >>>>>>>> and do a comparison. >>>>>>>> >>>>>>>> [1] >>>>>>>> https://lmax-exchange.github.io/disruptor/docs/com/lmax/disruptor/dsl/Disruptor.html#handleEventsWithWorkerPool(com.lmax.disruptor.WorkHandler.. >>>>>>>> .) >>>>>>>> >>>>>>>> On Thu, Mar 10, 2016 at 8:48 AM, Afkham Azeez <az...@wso2.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> After upgrading to the new transport, we are seeing a significant >>>>>>>>> drop in performance for any service that take some time to execute. >>>>>>>>> We have >>>>>>>>> tried with the configuration used for the gateway which gave the best >>>>>>>>> figures on the same hardware. We have also noted that using a separate >>>>>>>>> dedicated executor thread pool, which is supported by Netty, gave much >>>>>>>>> better performance than the disruptor based implementation. Even in >>>>>>>>> theory, >>>>>>>>> disruptor cannot give better performance when used with a real >>>>>>>>> service that >>>>>>>>> does some real work, rather than doing passthrough, for example. Can >>>>>>>>> we >>>>>>>>> improve the Netty transport to make going through disruptor optional? >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Afkham Azeez* >>>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>>>>> * <http://www.apache.org/>* >>>>>>>>> *email: **az...@wso2.com* <az...@wso2.com> >>>>>>>>> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: * >>>>>>>>> *http://blog.afkham.org* <http://blog.afkham.org> >>>>>>>>> *twitter: **http://twitter.com/afkham_azeez* >>>>>>>>> <http://twitter.com/afkham_azeez> >>>>>>>>> *linked-in: **http://lk.linkedin.com/in/afkhamazeez >>>>>>>>> <http://lk.linkedin.com/in/afkhamazeez>* >>>>>>>>> >>>>>>>>> *Lean . Enterprise . Middleware* >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Kasun Indrasiri >>>>>>>> Software Architect >>>>>>>> WSO2, Inc.; http://wso2.com >>>>>>>> lean.enterprise.middleware >>>>>>>> >>>>>>>> cell: +94 77 556 5206 >>>>>>>> Blog : http://kasunpanorama.blogspot.com/ >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Best Regards >>>>>>> Isuru Ranawaka >>>>>>> M: +94714629880 >>>>>>> Blog : http://isurur.blogspot.com/ >>>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Samiyuru Senarathne >>>>> *Software Engineer* >>>>> Mobile : +94 (0) 71 134 6087 >>>>> samiy...@wso2.com >>>>> >>>> >>>> >>>> >>>> -- >>>> Samiyuru Senarathne >>>> *Software Engineer* >>>> Mobile : +94 (0) 71 134 6087 >>>> samiy...@wso2.com >>>> >>> >>> >>> >>> -- >>> Samiyuru Senarathne >>> *Software Engineer* >>> Mobile : +94 (0) 71 134 6087 >>> samiy...@wso2.com >>> >> >> >> >> -- >> *Afkham Azeez* >> Director of Architecture; WSO2, Inc.; http://wso2.com >> Member; Apache Software Foundation; http://www.apache.org/ >> * <http://www.apache.org/>* >> *email: **az...@wso2.com* <az...@wso2.com> >> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: * >> *http://blog.afkham.org* <http://blog.afkham.org> >> *twitter: **http://twitter.com/afkham_azeez* >> <http://twitter.com/afkham_azeez> >> *linked-in: **http://lk.linkedin.com/in/afkhamazeez >> <http://lk.linkedin.com/in/afkhamazeez>* >> >> *Lean . Enterprise . Middleware* >> > > > > -- > Best Regards > Isuru Ranawaka > M: +94714629880 > Blog : http://isurur.blogspot.com/ > > _______________________________________________ > Architecture mailing list > Architecture@wso2.org > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Sagara Gunathunga Architect; WSO2, Inc.; http://wso2.com V.P Apache Web Services; http://ws.apache.org/ Linkedin; http://www.linkedin.com/in/ssagara Blog ; http://ssagara.blogspot.com
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture