Tales From the Web Logic Front Line

  • 644 views
Uploaded on

Presentation by Steve Millidge

Presentation by Steve Millidge

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to like this
No Downloads

Views

Total Views
644
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
1
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • These are things we’ve seen people do a lot which you shouldn’t do.
  • We see many examples of lots and lots of datasources

Transcript

  • 1. Tales from the WebLogic Front Line(What NOT to do with WebLogic)
    Steve Millidge
    C2B2 Consulting Limited
  • 2. Agenda
    Health Warning
    Setting the Scene
    Common Anti-patterns
    Ain’t misbehaving
    This could kill
  • 3. C2B2 Consulting
    Fast
    Performance and Scalability
    Reliable
    High Availability and Recoverability
    Manageable
    Monitoring and Supporting
    Secure
    Security
  • 4. First Day At Work
  • 5. It’s All Gone to *#*@!
  • 6.
  • 7.
  • 8. Meet the Project Manager
  • 9.
  • 10.
  • 11. Philosophy
    Don’t Panic you didn’t #@#@ it up.
    Suspect Configuration over Coding
    Suspect bespoke code over WebLogic code
    WebLogic is FAST
    Computers are Logical and Rational
  • 12. Common Anti-patterns
  • 13. Too Many Datasources
  • 14. Too Many Datasources
    Data Source per Component
    All to the Same Database
    JNDI Name per Component
    C1
    C1
    C1
    DS1
    DS1
    DS1
    Oracle
  • 15. Why It’s Bad
    Requires XA for all Datasources
    Developers receive strange “XA” exception
    Untick Honour Global Transactions
    Makes Exception “go away”
    Datasources now in autocommit
    DATA CORRUPTION!!
    Requires more DB connections
    BIND same Datasource to multiple JNDI locations
  • 16. Inadvertent TX Coupling
  • 17. Inadvertent TX Coupling
    WLS 1
    WLS 2
    EJB 1
    REQUIRED
    Invoke
    EJB 2 REQUIRED
    Oracle
    1
    Oracle
    2
  • 18. Why It’s BAD
    Results in “Strange Exceptions” if not All XA
    Is the REALLY what you want
    XA is very heavyweight
    And not guaranteed
    XA requires particular database configuration
    You have 4 minimum XA resources to coordinate
    Fix using REQUIRES NEW
  • 19. Clustering is TOO Heavy
  • 20. WLS Cluster
    WLS Session Clustering
    WLS 1
    WLS 2
    WLS 3
    WLS 4
    1
    2
    Don’t Use the Session as a Cache
    USE A CACHE
  • 21. Too Much logging
  • 22. Too Much Logging
    Too Synchronized
    New Application 30% Slower
    Tx Timeouts
    High CPU
    Many Threads waiting on Logging Monitor
    Debug turned on, on one node
    In Memory Buffer
    Each Thread Logged to in memory queue
    Writer thread writes messages to file
    Under heavy load memory queues grew unbounded
    1.5Gb heap in log messages
  • 23. Ain’tMisbehavin’
  • 24. Session Shenanigans
    Serialization
    Session Attributes must be Serializable
    See this one all the time
    No Failover!!!
    Working as per Spec
    No Put
    You must Put dirtied objects back in the Session
    Don’t Get modify then no Put
    No Failover!!!
    Working as per Spec
  • 25. Exceptions and TX
    What happens to the TX when you throw an Exception from an EJB method?
    Application ExceptionCommit
    System ExceptionRollback
  • 26. Poisoned JMS
  • 27. Poisoned JMS
    Eats CPU
    Prevents Delivery
    Kills Server Performance
    JMS
    Q
    RepeatForever
    Set Redeliver Delay
    Set Redelivery Limit
    Set Error Destination
    Exception
  • 28. Poisoned JMS (Paging)
    WLS Keeps Messages in Memory
    Causes OutOfMemory Exceptions
    Configure Paging Thresholds
    Configure at JMS Server level
  • 29. This Can Kill You
  • 30. Too Much RAM
    -XMS2G –XMX2G
    32 bit Can be Too Much
    O/S Reserves RAM
    VM Starts up
    When you need it!
    HOTSPOT DUMP
  • 31. Node Manager Configuration
    Not Good Out of the Box
    Auto Kill If Failed = TRUE
    Auto Restart = TRUE
    Restart Delay should be set
    Restart Max should be set
    Set Panic Action to System.exit
  • 32. Disappearing Datasource
    Start WebLogic when DB not Available
    Datasource is not created
    Connection Creation Retry Frequency Seconds should be non-zero
  • 33. Summary
    Production Configuration is Complex
    Call in the Professionals
  • 34. Example Bullet Slide
    Bullet 1