Presentation is loading. Please wait.

Presentation is loading. Please wait.

Stellen besetzen. Erfolg ermöglichen. Java EE LoadBalancer.

Similar presentations


Presentation on theme: "Stellen besetzen. Erfolg ermöglichen. Java EE LoadBalancer."— Presentation transcript:

1 Stellen besetzen. Erfolg ermöglichen. Java EE LoadBalancer

2 Stellen besetzen. Erfolg ermöglichen. TowerConsult GmbH Diagnostic & Calibration Java EE Web Applications - Performance Management for individual Best Fit Deployments The Java EE LoadBalancer is a pure J2EE Web Component for high traffic environments. You identify performance problems and balance your Java Web Server. Java Server Performance depends on CPU & Memory allocation of Traffic. Tuning Performance is also a calibration Process in reference to stability. Java EE LoadBalancer addresses this with Monitoring and Run-time Customizing of key parameters (response time & throughput). Via jconsole essential Visibility into Java Web Transactions is supported across your Web Application infrastructure. Traffic is directed through a Semaphore mechanism[from E.W.Dijkstra] to protect memory critical resources. Fail-over strategies are implemented and customizable while calibration process. LoadBalancing is software- based build on common Java SE & Servlet Specification 2.3 standards and supports any industry-standard Java EE Web Container. The LoadBalancer can be easily deployed over j2ee.loadbalancer.jar registration in Web-Inf/lib directory of the Web Application and administrated in every Web Application using web.xml registration and configuration. The LoadBalancer supports HTTP and JMX Monitoring and JMX Run-time Customizing of LoadBalancer Parameters. Historical Profiling is supported via file logging using the java.util.logging facility. Using this loadbalancing practice there are no hardware or software architecture changes required. The Implementation takes care about the relationships between Java Server Threads and the Java Memory Model(JMM) in multi core hardware environments. Java EE LoadBalancer

3 Stellen besetzen. Erfolg ermöglichen. TowerConsult GmbH LoadBalancer Sequenz(UML) Java EE LoadBalancer

4 Stellen besetzen. Erfolg ermöglichen. TowerConsult GmbH In JConsole MBeans Tab: Use LoadBalancer Monitor Functionality Customize run-time Property: EndPointAllocatedBytes EndPointMaxThreadPool while calibration process. JMX realtime Profiling & Monitoring of JSF-CDI Bean Propertie; navigate in JMXBean Attributes: RechnerBeans := Rechner[] Java EE LoadBalancer

5 Stellen besetzen. Erfolg ermöglichen. TowerConsult GmbH Run-time Customizing of LoadBalancer Parameters - The Profiling & Calibration Process JMX Run-time Customizing of LoadBalancer Parameter to get the Best Fit profiling for your environment is supported. Set the parameter values for MAX_THREAD_COUNT and THREAD_BLOCKING_TIME to change configuration and run-time Behavior in real-time to find Best Fit Settings for your Java WebApplication[JSF, WebService Endpoint]. Monitor system changes in relation to your new Attribute settings (in Attribute Chart mode):  CurrentEndpointAllocatedBytes:[Information Readonly] CurrentEndpointAllocatedBytes returns an approximation of the total amount of memory, in bytes, allocated in heap memory for the last current Endpoint thread(while current jconsole jmx interval). Requires Java SE 1.7.  CurrentEndpointAllocatedBytesRelative:[Information Readonly] CurrentEndpointAllocatedBytesRelative returns an approximation of the relative amount of memory, in percent, allocated in heap memory for the last current Endpoint thread (while current jconsole jmx interval) in relation to the total amount of memory allocated in heap memory for all live Threads. Requires Java SE 1.7. Where the Values come from? => memory critical Ressource := Servlet-Thread:= url-pattern In Java EE Web Application Configuration (web.xml) the LoadBalancer is configured as a filter. So the LoadBalancer reads his Policies from his filter configuration. LoadBalancer Filter url-pattern is mapped to memory critical Ressource url-pattern. Therefore the LoadBalancer gets his Monitoring Information from memory critical Thread JMX Beans and send the result to the associated LoadBalancer JMX Beans. Java EE LoadBalancer

6 Stellen besetzen. Erfolg ermöglichen. TowerConsult GmbH  EndpointTotalAllocatedBytes:[Information Readonly] EndpointTotalAllocatedBytes returns an approximation of the total amount of memory, in bytes, allocated in heap memory for all Endpoint Threads based on the specified EndPoint URL-Pattern (while current jconsole jmx interval). Requires Java SE 1.7.  EndpointTotalAllocatedBytesRelative:[Information Readonly] EndpointTotalAllocatedBytes returns an approximation of the total amount of memory, in percent, allocated in heap memory for all Endpoint Threads based on the specified EndPoint URL-Pattern (while current jconsole jmx interval) in relation to the total amount of memory allocated in heap memory for all live Threads. Requires Java SE 1.7.  EndPointTotalCpuTime:[Information Readonly] EndPointTotalCpuTime is the total CPU time over all Endpoint threads(while current jconsole jmx interval) have executed in user mode plus system mode in nanoseconds. CPU time(all Endpoint threads) = user time(all Endpoint threads) + system time(all Endpoint threads)  EndPointTotalUserTime:[Information Readonly] EndPointTotalUserTime is the total CPU time over all Endpoint threads(while current jconsole jmx interval) have executed in user mode(running your application's own code) in nanoseconds.  EndPointTotalSystemTime:[Information Readonly] EndPointTotalSystemTime is the total CPU time over all Endpoint threads(while current jconsole jmx interval) have executed in System mode(running OS code on behalf of your application (such as for I/O)) in nanoseconds. User time(all Endpoint threads) = CPU time(all Endpoint threads) - user time(all Endpoint threads)  EndPointCountRelative:[Information Readonly] Amount of all Endpoint threads in relation to all JVM threads. Java EE LoadBalancer

7 Stellen besetzen. Erfolg ermöglichen. TowerConsult GmbH  CurrentEndPointCpuTime: [Information Readonly] C urrentEndPointCpuTime is the amount of time that the last current Endpoint thread(while current jconsole jmx interval) has executed in user mode plus system mode in nanoseconds.Total time spent using a CPU for your application. CPU time = user time + system time That means: Server Application processing time used to serve the last current request.  Waiting_Thread_Count:[Information Readonly] Amount of all Endpoint threads waiting(THREAD_BLOCKING_TIME) until the Request-pool has new free thread resources  Current_Thread_Pool_Count:[Information Readonly] Amount of free Endpoint thread resources. Running Endpoint Threads = MAX_THREAD_COUNT-Current_Thread_Pool_Count Prerequisites Java EE LoadBalancer requires: Java Servlet Engine(Tomcat,...) with Servlet Specification 2.3 or later Java SE 1.5 For Profiling & Runtime Customizing[Best Fit Calibration]: enabled JMX connection Some Features like Endpoint Heap Memory Allocation Measuring requires Java SE 1.7 Java EE LoadBalancer

8 Stellen besetzen. Erfolg ermöglichen. TowerConsult GmbH Ressources: Java EE LoadBalancer Project Features:  White paper: https://java.net/projects/j2ee-loadbalancer/pages/Homehttps://java.net/projects/j2ee-loadbalancer/pages/Home  Source Code Repositories: https://java.net/projects/j2ee-loadbalancer/sourceshttps://java.net/projects/j2ee-loadbalancer/sources  Downloads: https://java.net/projects/j2ee-loadbalancer/downloadshttps://java.net/projects/j2ee-loadbalancer/downloads Benefit: individual Best Fit Setting [Java WebApplication, Machine] individual url-thread-based Profiling, Monitoring and Calibration SUN API Free SUN/IBM supported standard Tools[Helpcenter, JConsole] JConsole pluggable MBeans/MXBeans Improve QA [Mapping Nonfunctional Requirements to url-based User Activities] no hardware or software architecture changes required fail-over functionality usability in test & runtime environments Java EE LoadBalancer

9 Stellen besetzen. Erfolg ermöglichen. TowerConsult GmbH Lizenz Java EE LoadBalancer is open source but not free. Use in Test and Development Environment is for free – with the requirement that any copy acknowledges the original product and its developers. For use in Production Environment get in touch with us. https://java.net/projects/j2ee-loadbalancer/pages/License Java EE LoadBalancer

10 Stellen besetzen. Erfolg ermöglichen. TowerConsult GmbH Lizenz Java EE LoadBalancer

11 Stellen besetzen. Erfolg ermöglichen. TowerConsult GmbH Use Case: Regressionstest Compare CPU and Heap parameter before and after user activity functional testing as part of Non Functional System Testing using appropriate url-mapping. Java EE LoadBalancer

12 Stellen besetzen. Erfolg ermöglichen. TowerConsult GmbH Use Case: Monitoring & Controlling Long Running Task Java MX Service Channel Technology manages the Flow of a Long Running Java Server Face Task in a J2EE Web Container Environment using SUN JConsole. Java EE LoadBalancer


Download ppt "Stellen besetzen. Erfolg ermöglichen. Java EE LoadBalancer."

Similar presentations


Ads by Google