Is there any other way to fix the perf drop while fixing the issue?

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc.
http://wso2.com



On Fri, Jan 3, 2014 at 3:36 PM, Chanika Geeganage <[email protected]> wrote:

> Hi Samisa,
>
> The fix is for a issue occurred when we define multiple resources in a
> data service with the same resource name. For an example lets say we want
> to define following resources in a data service. (This is described in this
> thread)
>
>
> products/{id}
> products/{id}/name/{name}
>
> The current implementation does not give the desired output as it keeps
> only the resource name as the key. According to the given fix it keeps a
> regex as the key and it compiles all regex in the map each time we invoke a
> request. That is why there is a performance drop.
>
> Thanks
>
>
>
> On Fri, Jan 3, 2014 at 3:20 PM, Samisa Abeysinghe <[email protected]> wrote:
>
>> Why do we have a drop of TPS with the fix? Should we not optimize this
>> for better performance?
>>
>> Thanks,
>> Samisa...
>>
>>
>> Samisa Abeysinghe
>>
>> Vice President Developer Evangelism
>>
>> WSO2 Inc.
>> http://wso2.com
>>
>>
>>
>> On Fri, Jan 3, 2014 at 1:28 PM, Chanika Geeganage <[email protected]>wrote:
>>
>>> Hi,
>>>
>>> Here I have attached the changed code for the suggested solution (using
>>> a regex as the key). I ran some load tests and the results are listed
>>> below.
>>>
>>> No of Threads                 Without the fix (tps)              With
>>> the fix (tps)
>>> 1
>>> 410                                         315
>>> 5
>>> 2010                                       1900
>>> 100
>>> 6260                                        6200
>>>
>>> Is it OK to proceed with this fix?
>>>
>>> Thanks
>>>
>>>
>>>
>>> On Thu, Dec 19, 2013 at 7:37 AM, Chanika Geeganage <[email protected]>wrote:
>>>
>>>> Hi Sameera,
>>>>
>>>> getConstantFromHTTPLocation method in [1]  is used to maintain the map
>>>> in deployment time and getOperationFromHTTPLocation method is called when
>>>> you invoke the rest service in [2]
>>>>
>>>> [1]
>>>> https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.2.0/dependencies/axis2/1.6.1-wso2v10/modules/kernel/src/org/apache/axis2/wsdl/WSDLUtil.java
>>>>
>>>> [2]
>>>> https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.2.0/dependencies/axis2/1.6.1-wso2v10/modules/kernel/src/org/apache/axis2/dispatchers/HTTPLocationBasedDispatcher.java
>>>>
>>>> Thanks
>>>>
>>>>
>>>> On Thu, Dec 19, 2013 at 12:51 AM, Sameera Jayasoma <[email protected]>wrote:
>>>>
>>>>> Hi Chanika,
>>>>>
>>>>> Can you please gimme me some pointers to the relevant code blocks
>>>>> which are responsible for this situation?
>>>>>
>>>>> Thanks,
>>>>> Sameera.
>>>>>
>>>>>
>>>>> On Wed, Dec 18, 2013 at 3:29 PM, Chanika Geeganage 
>>>>> <[email protected]>wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> This issue was come across when we invoke a rest resource deployed in
>>>>>> DSS. According to the current implementation it fails to delegate 
>>>>>> different
>>>>>> requests for same base URL. For an example lets say we want to have
>>>>>> following resources in the dataservice config
>>>>>>
>>>>>> products/{id}
>>>>>> products/{id}/name/{name}
>>>>>>
>>>>>> According to the current implementation it maintains a map to keep
>>>>>> the resource info in the deployment time. It keeps a string of the HTTP
>>>>>> method + the resource name  as the key and the relevant axis2 operation 
>>>>>> as
>>>>>> the value. Therefore in the example both resources having the same key 
>>>>>> and
>>>>>> the value is replaced by the last one.
>>>>>>
>>>>>> So as a solution, a regex for the resource is kept in the map as the
>>>>>> key, and when we invoke the resource it compares the regex with the 
>>>>>> request
>>>>>> url. But this will hit a performance issue, as we have to compile all 
>>>>>> regex
>>>>>> in the map each time we invoke resource.
>>>>>>
>>>>>> Any input regarding this is appreciated.
>>>>>>
>>>>>> Thanks
>>>>>> --
>>>>>> Best Regards..
>>>>>>
>>>>>> Chanika Geeganage
>>>>>> Software Engineer
>>>>>> WSO2, Inc.; http://wso2.com
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Architecture mailing list
>>>>>> [email protected]
>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sameera Jayasoma,
>>>>> Architect,
>>>>>
>>>>> WSO2, Inc. (http://wso2.com)
>>>>> email: [email protected]
>>>>> blog: http://sameera.adahas.org
>>>>> twitter: https://twitter.com/sameerajayasoma
>>>>> flickr: http://www.flickr.com/photos/sameera-jayasoma/collections
>>>>> Mobile: 0094776364456
>>>>>
>>>>> Lean . Enterprise . Middleware
>>>>>
>>>>> _______________________________________________
>>>>> Architecture mailing list
>>>>> [email protected]
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Best Regards..
>>>>
>>>> Chanika Geeganage
>>>> Software Engineer
>>>> WSO2, Inc.; http://wso2.com
>>>>
>>>>
>>>
>>>
>>> --
>>> Best Regards..
>>>
>>> Chanika Geeganage
>>> Software Engineer
>>> WSO2, Inc.; http://wso2.com
>>>
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Best Regards..
>
> Chanika Geeganage
> Software Engineer
> WSO2, Inc.; http://wso2.com
>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to