On Sun, Jun 12, 2011 at 12:25 PM, Dimuthu Leelarathne <dimut...@wso2.com>wrote:
> Hi, > > On Sat, Jun 11, 2011 at 10:55 PM, Afkham Azeez <az...@wso2.com> wrote: > >> UM folks, please note. This needs to be implemented for Stratos 1.5. >> >> > We didn't cache user-roles to allow changes done by external means, for > example an update done using PhpMyLDAPAdmin. Primarily it was done because > of read-only user-stores where it is updated by other external means. So we > can implement it as follows. > > 1) We always cache-user roles for X seconds. And we update the document > saying changes done using external tools will be effected only after X > seconds. If the change is done using our UI we clean the cache immediately. > The value X will be configurable. > OR > 2) We make caching configurable - Yes or No > > I am +1 for option-1. I will update the JDBCUserStore manager accordingly. > Caching is configurable in registry.xml, giving the user the option to select what option to use. Similarly, I think its good to have #2 as well for UM. Anyway what we need is #1. So, I'm +1 for that too. Thanks, Senaka. > > tx, > dimuthu > > > >> >> On Sat, Jun 11, 2011 at 8:08 PM, Senaka Fernando <sen...@wso2.com> wrote: >> >>> >>> >>> On Sat, Jun 11, 2011 at 8:03 PM, Afkham Azeez <az...@wso2.com> wrote: >>> >>>> Seems like we need caching for UM as well to be effective. Please >>>> implement this for Stratos, Carbon 3.2.1. >>> >>> >>> +1. AFAIU, permissions-for-role is cached, but role-of-user is not. >>> >>> Thanks, >>> Senaka. >>> >>> >>>> >>>> On Sat, Jun 11, 2011 at 7:46 PM, Senaka Fernando <sen...@wso2.com>wrote: >>>> >>>>> >>>>> >>>>> On Sat, Jun 11, 2011 at 7:39 PM, Senaka Fernando <sen...@wso2.com>wrote: >>>>> >>>>>> >>>>>> >>>>>> On Sat, Jun 11, 2011 at 6:17 PM, Afkham Azeez <az...@wso2.com> wrote: >>>>>> >>>>>>> So caching gives a significant performance improvement. Anyway, the >>>>>>> only difference between RC9 & RC10 is the following code segment; >>>>>>> >>>>>>> if (!AuthorizationUtils.authorize(path, ActionConstants.GET)) { >>>>>>> + String msg = "User " + CurrentSession.getUser() + " >>>>>>> is not authorized to " + >>>>>>> + "read the resource " + path + "."; >>>>>>> + log.warn(msg); >>>>>>> + throw new AuthorizationFailedException(msg); >>>>>>> + } >>>>>>> >>>>>>> Senaka, can you profile and see what is the overhead introduced by >>>>>>> the AuthorizationUtils.authorize method (that method should have >>>>>>> been named isAuthorized!) >>>>>>> >>>>>> >>>>>> +1, we need to go through these method names sometime later, when we >>>>>> are doing a major carbon release. Attached to this reply is a call-trace. >>>>>> The UM code, seems to be making a DB-call, and two JNDI calls to >>>>>> ApacheDS, >>>>>> all of which are reasonably expensive. >>>>>> >>>>> >>>>> Please disregard the overhead for logging the WARN message (in my >>>>> previous attachment), since I actually tried a scenario that failed to >>>>> authorize, and not one that passes as seen in Charitha's test. Attached >>>>> herewith is the output for a scenario that actually passes authorization. >>>>> >>>>> Thanks, >>>>> Senaka. >>>>> >>>>> >>>>>> Thanks, >>>>>> Senaka. >>>>>> >>>>>>> >>>>>>> >>>>>>> On Sat, Jun 11, 2011 at 2:52 PM, Charitha Kankanamge < >>>>>>> chari...@wso2.com> wrote: >>>>>>> >>>>>>>> Figures with caching disabled. >>>>>>>> >>>>>>>> Requests per second: 1,661.51 [#/sec] (mean) >>>>>>>> Requests per second: 1,699.38 [#/sec] (mean) >>>>>>>> Requests per second: 1,664.97 [#/sec] (mean) >>>>>>>> Requests per second: 1,664.65 [#/sec] (mean) >>>>>>>> Requests per second: 1,662.48 [#/sec] (mean) >>>>>>>> >>>>>>>> /Charitha >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Sat, Jun 11, 2011 at 2:32 PM, Afkham Azeez <az...@wso2.com>wrote: >>>>>>>> >>>>>>>>> pls compare this with no-caching >>>>>>>>> >>>>>>>>> On Sat, Jun 11, 2011 at 2:06 PM, Charitha Kankanamge < >>>>>>>>> chari...@wso2.com> wrote: >>>>>>>>> >>>>>>>>>> Did a quick performance comparison of RC10 and RC9 versions of >>>>>>>>>> Carbon-3.2.0. >>>>>>>>>> >>>>>>>>>> Test: >>>>>>>>>> ===== >>>>>>>>>> Service hosted in AS which reads a resource in embedded registry >>>>>>>>>> (service impl class is as follows) >>>>>>>>>> >>>>>>>>>> Registry registry = >>>>>>>>>> CarbonContext.getCurrentContext().getRegistry(RegistryType.SYSTEM_CONFIGURATION); >>>>>>>>>> >>>>>>>>>> Resource r1 = null; >>>>>>>>>> try { >>>>>>>>>> r1 = registry.get("d1/d2/d3/r1"); >>>>>>>>>> } catch (RegistryException e) { >>>>>>>>>> e.printStackTrace(); //To change body of catch >>>>>>>>>> statement use File | Settings | File Templates. >>>>>>>>>> } >>>>>>>>>> return r1.getDescription(); >>>>>>>>>> >>>>>>>>>> java-bench client:- >>>>>>>>>> >>>>>>>>>> while true;do java -jar benchmark.jar -p registry_get_request.xml >>>>>>>>>> -n 1000 -c 200 -k -H "SOAPAction: urn:getResource" -T >>>>>>>>>> "application/soap+xml; >>>>>>>>>> charset=UTF-8" >>>>>>>>>> http://192.168.122.1:9763/services/RegistryGetService/;done >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> RC9 >>>>>>>>>> ===== >>>>>>>>>> Requests per second: 3,291.87 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,448.57 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,417.59 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,334.18 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,291.88 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,433.59 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,477.33 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,368.26 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,323.68 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,364.71 [#/sec] (mean) >>>>>>>>>> >>>>>>>>>> RC10 >>>>>>>>>> ===== >>>>>>>>>> Requests per second: 2,931.87 [#/sec] (mean) >>>>>>>>>> Requests per second: 2,992.98 [#/sec] (mean) >>>>>>>>>> Requests per second: 2,964.73 [#/sec] (mean) >>>>>>>>>> Requests per second: 2,977.55 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,047.40 [#/sec] (mean) >>>>>>>>>> Requests per second: 2,909.69 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,121.50 [#/sec] (mean) >>>>>>>>>> Requests per second: 2,992.58 [#/sec] (mean) >>>>>>>>>> Requests per second: 2,845.01 [#/sec] (mean) >>>>>>>>>> Requests per second: 3,052.30 [#/sec] (mean) >>>>>>>>>> Requests per second: 2,817.33 [#/sec] (mean) >>>>>>>>>> >>>>>>>>>> Regards >>>>>>>>>> Charitha >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Carbon-dev mailing list >>>>>>>>>> Carbon-dev@wso2.org >>>>>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *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 >>>>>>>>> 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* >>>>>>>>> * >>>>>>>>> * >>>>>>>>> *Lean . Enterprise . Middleware* >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Carbon-dev mailing list >>>>>>>>> Carbon-dev@wso2.org >>>>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Carbon-dev mailing list >>>>>>>> Carbon-dev@wso2.org >>>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *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 >>>>>>> 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* >>>>>>> * >>>>>>> * >>>>>>> *Lean . Enterprise . Middleware* >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Carbon-dev mailing list >>>>>>> Carbon-dev@wso2.org >>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Senaka Fernando* >>>>>> Product Manager - WSO2 Governance Registry; >>>>>> Associate Technical Lead; WSO2 Inc.; http://wso2.com* >>>>>> Member; Apache Software Foundation; http://apache.org >>>>>> >>>>>> E-mail: senaka AT wso2.com >>>>>> **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 >>>>>> Linked-In: http://linkedin.com/in/senakafernando >>>>>> >>>>>> *Lean . Enterprise . Middleware >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Senaka Fernando* >>>>> Product Manager - WSO2 Governance Registry; >>>>> Associate Technical Lead; WSO2 Inc.; http://wso2.com* >>>>> Member; Apache Software Foundation; http://apache.org >>>>> >>>>> E-mail: senaka AT wso2.com >>>>> **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 >>>>> Linked-In: http://linkedin.com/in/senakafernando >>>>> >>>>> *Lean . Enterprise . Middleware >>>>> >>>>> >>>>> _______________________________________________ >>>>> Carbon-dev mailing list >>>>> Carbon-dev@wso2.org >>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>>> >>>>> >>>> >>>> >>>> -- >>>> *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 >>>> 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* >>>> * >>>> * >>>> *Lean . Enterprise . Middleware* >>>> >>>> >>>> _______________________________________________ >>>> Carbon-dev mailing list >>>> Carbon-dev@wso2.org >>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>> >>>> >>> >>> >>> -- >>> *Senaka Fernando* >>> Product Manager - WSO2 Governance Registry; >>> Associate Technical Lead; WSO2 Inc.; http://wso2.com* >>> Member; Apache Software Foundation; http://apache.org >>> >>> E-mail: senaka AT wso2.com >>> **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 >>> Linked-In: http://linkedin.com/in/senakafernando >>> >>> *Lean . Enterprise . Middleware >>> >>> >>> _______________________________________________ >>> Carbon-dev mailing list >>> Carbon-dev@wso2.org >>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>> >>> >> >> >> -- >> *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 >> 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* >> * >> * >> *Lean . Enterprise . Middleware* >> >> >> _______________________________________________ >> Carbon-dev mailing list >> Carbon-dev@wso2.org >> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >> >> > > _______________________________________________ > Carbon-dev mailing list > Carbon-dev@wso2.org > http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev > > -- *Senaka Fernando* Product Manager - WSO2 Governance Registry; Associate Technical Lead; WSO2 Inc.; http://wso2.com* Member; Apache Software Foundation; http://apache.org E-mail: senaka AT wso2.com **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 Linked-In: http://linkedin.com/in/senakafernando *Lean . Enterprise . Middleware
_______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev