GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise...

27
1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems 1

Transcript of GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise...

Page 1: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

1

GlassFish v2.1 &Enterprise ManagerAlexis Moussine-PouchkineSun Microsystems

1

Page 2: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

2

Some vocabulary

• Cluster – a group a homogenous GlassFish instances administered as a whole

• Load-Balancing – a strategy and implementation to balance HTTP, IIOP, and other incoming requests. Enough to provide service continuity

• High-Availability (HA) – replication of stateful data to survive instance crash. All about session continuity

Page 3: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

3

Clustering in GlassFish v2

JMX = Java Management Extensions

Page 4: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

4

HTTP Session State Failover

Servlet(HTTP Session)

replicas

instance 1

Servlet(HTTP Session)

replicas

instance 2

Servlet(HTTP Session)

replicas

instance 4

Servlet(HTTP Session)

replicas

instance 3Cluster

WS

LoadBalancer

Page 5: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

5

HTTP Session State Failover

Servlet(HTTP Session)

replicas

instance 1

Servlet(HTTP Session)

replicas

instance 2

Servlet(HTTP Session)

replicas

instance 4

Servlet(HTTP Session)

replicas

instance 3Cluster

WS

LoadBalancer

Case 1:

Instance has replica data

Page 6: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

6

HTTP Session State Failover

Servlet(HTTP Session)

replicas

instance 1

Servlet(HTTP Session)

replicas

instance 2

Servlet(HTTP Session)

replicas

instance 4

Servlet(HTTP Session)

replicas

instance 3Cluster

WS

LoadBalancer

Broadcast…

Case 2:

Instance does nothave replica data

Page 7: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

7

HTTP Session State Failover

Servlet(HTTP Session)

replicas

instance 1

Servlet(HTTP Session)

replicas

instance 2

Servlet(HTTP Session)

replicas

instance 4

Servlet(HTTP Session)

replicas

instance 3Cluster

WS

LoadBalancer

and ownershiptransfer…

Case 2:

Instance does nothave replica data

Page 8: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

8

Cluster Dynamic Shape Change

Servlet(HTTP Session)

replicas

instance 1

Servlet(HTTP Session)

replicas

instance 2

Servlet(HTTP Session)

replicas

instance 4

Servlet(HTTP Session)

replicas

instance 3Cluster

WS

LoadBalancer

Shape Changeinstance1 fails

Page 9: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

9

Cluster Dynamic Shape Change

Servlet(HTTP Session)

replicas

instance 1

Servlet(HTTP Session)

replicas

instance 2

Servlet(HTTP Session)

replicas

instance 4

Servlet(HTTP Session)

replicas

instance 3Cluster

WS

LoadBalancer

Shape Changeinstance1 fails

Instance2 and 4see the failure

X

X

Page 10: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

10

Cluster Dynamic Shape Change

Servlet(HTTP Session)

replicas

instance 1

Servlet(HTTP Session)

replicas

instance 2

Servlet(HTTP Session)

replicas

instance 4

Servlet(HTTP Session)

replicas

instance 3Cluster

WS

LoadBalancer

Shape Changeinstance1 fails

Instance2 and 4see the failure

Instance4 selectsInstance2 as newpartner—new connections established

the reverse happens when an instance joins or re-joins the cluster

Page 11: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

11

Memory Replication Configuration

• <distributable/> element> Required in web.xml

● Indicates you believe your application is ready to run in a cluster

• Serializable objects required> HTTP Session state> EJB technology Stateful Session Bean state

Making your app distributable

Page 12: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

12

DemoFrom Zero to GlassFish Cluster

Page 13: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

13

Configuring the availability service

Page 14: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

14

Sun GlassFish Enterprise Server

Customer FocusedCustomer Focused

Support TeamSupport Team

Patches &Patches &

UpgradesUpgrades

24x7 Support24x7 Support

CustomerCustomer

AdvocateAdvocate

Sun VIPSun VIP

InteroperabilityInteroperability

SupportSupport

GlassFishGlassFish

Open SourceOpen Source

Application ServerApplication Server

Enterprise ManagerEnterprise Manager

eLearningeLearning

CreditCredit

Page 15: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

15

Enterprise Manager

• SNMP Monitoring

• Performance Advisor

• Performance Monitor

Page 16: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

16

• Requires GlassFish Enterprise v2.1 subscription• Download via SunSolve

> SNMP Monitoring: 140750> Performance Advisor: 140751> Performance Monitor: 140749> GlassFish v3: will be available in Update Center

• SunSolve click-through license> No license keys

• Evaluation bundles in development

Enterprise Manager

Page 17: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

17

Enterprise ManagerSNMP Monitoring

• Leverage existing enterprise management tools• SNMP v1, v2c adapter

> JSR 77/J2EE MIB> Exposes JMX attributes via SNMP

• Deploys as a war file• Can monitor instances through DAS or directly• Configured via GlassFish properties

asadmin set standalone-instance1.property.snmp-adapter-port=10162 asadmin set clustered-instance1.property.snmp-adapter-port=10163 asadmin set clustered-instance2.property.snmp-adapter-port=1016

Page 18: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

18

GlassFish SNMP Architecture

Page 19: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

19

Enterprise ManagerPerformance Advisor - Tuning

• Common Question“How do I tune GlassFish?”

• More important question ...“How do I tune GlassFish for my deployment?”

• Asks qualifying questions> # CPU Cores? CMT Servers?> Allocation time in Database?> Garbage Collection strategy? Latency? Throughput?

• Optionally apply recommendations

Page 20: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

20

Enterprise ManagerPerformance Advisor - Tuning

Page 21: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

21

GlassFish Enterprise ServerSelf Management

• Objective> Manage complexity through self-configuration> Automating repeatable tasks> Self-Tuning, Self Healing

• Management Rules> JMX-based> Receive event, take action

• Built in to GlassFish v1> Little marketing> Little engineering investment (no out-of-the-box rules)

Page 22: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

22

Enterprise ManagerPerformance Advisor - Alerts

• Proactive notification of “events of interest”> Physical memory alert> Memory leak alert> CPU Usage trend alert> JVM Throughput alert> GC Pause Time alert> Log entry alert

• Alert notification methods> Written to log file> Optionally sent to email address(es)

Page 23: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

23

Enterprise ManagerPerformance Advisor - Alerts

Page 24: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

24

Enterprise ManagerPerformance Monitor

• Diagnose and monitor GlassFish and JVM performance

• Rich GUI application> VisualVM distribution with integrated GlassFish plugin

• Chart performance over time• Read-only tooling (vs. admin console)• Local and (secure) remote monitoring

Page 25: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

25

Enterprise ManagerPerformance Monitor

• GlassFish observability> HTTP Service view> Web View> EJB View> JDBC View> Web Services View> Cluster View> Node Agent View> Pool monitoring (JDBC, EJB, MDB)

• Heap View• GC View

Page 26: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

26

Enterprise ManagerPerformance Monitor

Page 27: GlassFish v2.1 & Enterprise Manager - Oracle · 2017. 2. 9. · 1 GlassFish v2.1 & Enterprise Manager Alexis Moussine-Pouchkine Sun Microsystems. 2 Some vocabulary •Cluster –

27

Alexis Moussine-PouchkineSun Microsystems

27