On Fri, Feb 15, 2019 at 4:12 PM João Loureiro Junior <[email protected]> wrote:
> Hi Andrea > > I looked again at the YourKit profile I had taken during the tests but, > for some reason, the Disruptor methods do not show up there. That is very > starnge, but I did not have time to investigate it further. I did as you > suggested and added an option to disable the Disruptor > PushPullBlockingQueue and revert to the Java concurrent ArrayBlockingQueue > (patch below). I run the tests again with the (slow) Oracle datasource and > the results were way better, like only half the CPU previously required. > > Good to know that you added some more performance improvements! What other > Disruptor queue variant you changed to? As far as I understood from the > Disruptor documentation, the PushPullBlockingQueue is the most efficient > variant that is fully compatible with the Java BlockingQueue interface. > I basically switched it to use the blocking mode right away, instead of the current mode, which does an active spin for a little while and then > > I think, at least in our scenarios, the previous implementation will be > required anyway. Do you think you could incorporate the patch below as > well? I could try to do a PR, but I have never done that before and would > first need to understand the GeoTools development process. > I believe the above change will already solve the issue for you too, if it does I'd rather have less moving parts/ifs around. Can you try to just use the Disruptor queue with this "less than one line" change? this.delegate = new PushPullBlockingQueue<>(capacity, SpinPolicy.BLOCKING); Cheers Andrea == GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- *Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.*
_______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer [email protected] https://lists.sourceforge.net/lists/listinfo/geoserver-users
