Can we profile and check why there is a drop in performance in high
concurrency?

On Wed, Mar 2, 2016 at 2:51 PM, Nathasha Naranpanawa <natha...@wso2.com>
wrote:

> Hi,
>
> As initially planned, the feature was implemented to collect web
> application statistics and publish them to DAS.
>
> Given below is an illustration of the high-level architecture of the
> feature;
>
>
> Currently, all configuration parameters required to create a connection to
> DAS (such as DAS username, password, urls, etc.) are provided as valve
> attributes in the server.xml file. The events are published through a
> Thrift data agent and publishing is handled by the DataPublisher API which
> is asynchronous.
>
> If DAS is not reachable, all the events will be buffered in order. When
> DAS is made available, the buffered events will be pushed to DAS and
> published. This is handled by the DataPublisher API itself.
>
> A performance testing was also carried out using Jmeter in order to
> compare the throughput with and without the publisher valve. Following is
> an indication of the throughput of the server according to a set of data
> obtained;
>
>
>
> The Spark script which is currently in the Capp is a sample one. The Cron
> expression in the script is scheduled to execute the script at every
> second. The script presents two tables, raw statistics data and request
> summary per minute. The table that holds raw statistics data are updated at
> every invoke of a web application. The request summary per minute table is
> only updated at each minute of invoke. Summarizing information published to
> DAS and displaying them to users is done as a separate project by another
> intern by creating gadgets to be deployed on the Dashboard server.
>
> Any further suggestions and feedback are highly appreciated.
>
> Thanks,
> Nathasha.
>
>
> On Tue, Dec 15, 2015 at 5:04 PM, Imesh Gunaratne <im...@wso2.com> wrote:
>
>>
>> On Tue, Dec 15, 2015 at 11:29 AM, Nathasha Naranpanawa <natha...@wso2.com
>>>> > wrote:
>>>>
>>>>>
>>>>>    - Adding a custom Valve to the tomcat server in order to collect
>>>>>    data from the server.
>>>>>
>>>>> Can you please explain more details about this valve?
>>
>>    - What would be the approach taken to publish data in asynchronous
>>    mode?
>>    - How do we plan to share data between the thread that accept the
>>    request and the thread that publish statistics?
>>    - How would that scale/affect if the incoming requests grow?
>>    - How would this valve would handle if DAS is not reachable?
>>
>> Thanks
>>
>>>
>>>>>    - Creating necessary CApp packages in order to define means of
>>>>>    publishing data from tomcat server to DAS, receiving and storing the 
>>>>> data.
>>>>>
>>>>> The custom tomcat Valve behaves as an Event Publisher and publishes
>>>>> data to DAS through Thrift data agent. For each request from the server, 
>>>>> an
>>>>> Event is created including metadata and payload data and is published to
>>>>> the DAS by a DataPublisher.
>>>>>
>>>>> A CApp was created by including the definitions for an Event Stream,
>>>>> Event Receiver and Event Store to receive data from the publisher valve 
>>>>> and
>>>>> store them. This is deployed in the
>>>>> wso2das-3.0.0/repository/deployment/server/carbonapps folder.
>>>>>
>>>>> A Spark script is also added to the CApp in order to query the data
>>>>> received by DAS. The script presents a summary of the requests received by
>>>>> DAS per minute. The summary includes the following information;
>>>>>
>>>>>    - average request count
>>>>>    - average response time
>>>>>    - HTTP request success count
>>>>>    - HTTP request error count
>>>>>
>>>>> Any suggestions and feedback are highly appreciated.
>>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>> --
>>>>> Nathasha Naranpanawa
>>>>> Software Engineering Intern
>>>>> WSO2 Inc.
>>>>>
>>>>> Email: natha...@wso2.com
>>>>> Mobile: +94775496142
>>>>> LinkedIn: https://lk.linkedin.com/in/nathashanaranpanawa
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Dev mailing list
>>>>> d...@wso2.org
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> ----------------------------------------------------------
>>>>
>>>> *Nuwan Chamara Pallewela*
>>>>
>>>>
>>>> *Software Engineer*
>>>>
>>>> *WSO2, Inc. *http://wso2.com
>>>> *lean . enterprise . middleware*
>>>>
>>>> Email   *nuw...@wso2.com <nuw...@wso2.com>*
>>>> Mobile  *+94719079739 <%2B94719079739>@*
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> ----------------------------------------------------------
>>>
>>> *Nuwan Chamara Pallewela*
>>>
>>>
>>> *Software Engineer*
>>>
>>> *WSO2, Inc. *http://wso2.com
>>> *lean . enterprise . middleware*
>>>
>>> Email   *nuw...@wso2.com <nuw...@wso2.com>*
>>> Mobile  *+94719079739 <%2B94719079739>@*
>>>
>>>
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> d...@wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> *Imesh Gunaratne*
>> Senior Technical Lead
>> WSO2 Inc: http://wso2.com
>> T: +94 11 214 5345 M: +94 77 374 2057
>> W: http://imesh.gunaratne.org
>> Lean . Enterprise . Middleware
>>
>>
>
>
> --
> Nathasha Naranpanawa
> Software Engineering Intern
> WSO2 Inc.
>
> Email: natha...@wso2.com
> Mobile: +94775496142
> LinkedIn: https://lk.linkedin.com/in/nathashanaranpanawa
>
>
> _______________________________________________
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
*Kishanthan Thangarajah*
Associate Technical Lead,
Platform Technologies Team,
WSO2, Inc.
lean.enterprise.middleware

Mobile - +94773426635
Blog - *http://kishanthan.wordpress.com <http://kishanthan.wordpress.com>*
Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>*
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to