万本电子书0元读

万本电子书0元读

顶部广告

WildFly Performance Tuning电子书

售       价:¥

1人正在读 | 0人评论 9.8

作       者:Arnold Johansson

出  版  社:Packt Publishing

出版时间:2014-06-25

字       数:370.9万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Packed with practical examples, this book looks at a different aspect of performance tuning in each chapter and shows you how to apply them to their existing Java applications. Anyone with an interest in learning more and improving the performance of Java-based technology in general, all the way to WildFly in particular, will find this book useful.
目录展开

WildFly Performance Tuning

Table of Contents

WildFly Performance Tuning

Credits

About the Authors

About the Reviewers

www.PacktPub.com

Support files, eBooks, discount offers, and more

Why subscribe?

Free access for Packt account holders

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Errata

Piracy

Questions

1. The Science of Performance Tuning

Performance

Response time

Throughput

Utilization efficiency

Scalability

Performance tuning anti-patterns

The one-off

The wrong team

The lack of mandate

The clever developer

Software development and quality assurance

Software development with performance focus

Analysis

Design

Implementation

Performance testing and tuning

The iterative performance-tuning process

Test cases and iteration

Setting the baseline

Running tests and collecting data

Analyzing the data

Tuning and retesting

Test data

Documentation

The environment of performance tests

The software life cycle

Upgrades

Metrics

Tuning an enterprise stack

Network

Hardware

Operating System

Java Virtual Machine

Middleware

Application

Summary

2. Tools of the Tuning Trade

The key features of performance tuning

Profiling

Profiling in production

Profiling a JVM

Profiling and sampling

VisualVM

Standard features

The features of plugins

Connecting to a JVM

Local JVM

Remote JVM

On the remote host

On the monitoring host

Monitoring a JVM

Features

Test scenarios

A JMX connection to WildFly

Local or remote WildFly server

Setting up VisualVM

Connection in VisualVM

Monitoring

OS tools

Unix and Linux

Low CPU utilization

High CPU utilization

High resource contention

High disk utilization

OS X

Windows

WildFly tools

The Command-line Interface

The WildFly Management Console

JBoss DMR

JConsole

Generating load

Apache JMeter

Building a basic test plan

Improving the test plan

Recording a web session using the JMeter HTTP proxy

Standalone and distributed load generation

Summary

3. Tuning the Java Virtual Machine

JVM

JVM memory areas

The JVM stack and native stack

The heap

Other JVM memory concepts

GC

JVM memory management with the GC

Configuring the JVM

Default settings

Client versus Server VM

The stack

The heap

Setting the maximum heap size

Setting the initial heap size

Determining what maximum size the heap should be

Determining what initial size the heap should be

Setting the size of the young and old generations

Setting the size ratio of Eden and the survivor spaces

PermGen

Large objects

Large memory pages

The java.lang.OutOfMemoryError error

From the heap

From the PermGen

Too large an array

Not enough native threads

Memory leaks

A leak-finding process

A step-by-step example using VisualVM

Types of GC strategies

The serial collector

The parallel collector

The concurrent collector

The G1 collector

Which collector to use

Setting VM parameters in WildFly

Having the relevant information available

VM parameters in production

verbose:gc

PrintGCDetails

PrintTenuringDistribution

loggc

Using tools

VM and GC stability

Summary

4. Tuning WildFly

WildFly's history

WildFly's architecture

Various subsystem configurations

The thread pool executor subsystem

unbounded-queue-thread-pool

bounded-queue-thread-pool

blocking-bounded-queue-thread-pool

queueless-thread-pool

blocking-queueless-thread-pool

scheduled-thread-pool

Monitoring

The future of the thread subsystem

Java EE Connector Architecture and resource adapters

The Batch API subsystem

The Remoting subsystem

The Transactions subsystem

XA – Two Phase Commit (2PC)

Logging

Optimized logging code

Performance tuning logging in WildFly

Logging to the console

Logging to files

Using asynchronous logging to improve log throughput

Logging hierarchy and performance

Per-deployment logging

Summary

5. EJB Tuning in WildFly

The history of EJBs

The different types of EJBs

Stateless Session Beans (SLSB)

Stateful Session Beans

Singleton Session Beans

Message Driven Beans (MDB)

Performance tuning EJBs in WildFly

Enabling detailed statistics

Optimizations of Local and Remote method calls

Session beans and transactions

Remote EJB calls

Optimizing Stateless Session Beans

Tuning the SLSB pool

Optimizing Stateful Session Beans

Disabling passivation for individual SFSB

Optimizing Singleton Session Beans

Adjust lock mechanisms and time-outs

Container Managed Concurrency versus Bean Managed Concurrency

Monitoring

Optimizing Message Driven Beans

Summary

6. Tuning the Persistence Layer

Designing a good database

Database normalization and denormalization

Database partitioning

Horizontal partitioning

Vertical partitioning

Using indexes

Tuning the Java Database Connectivity API

Connection pooling

Performance tuning a connection pool in WildFly

Setting the proper fetch size

Using batch updates for bulk insert/updates

Prepared statements

Isolation levels

Tuning JDBC networking

Tuning JPA and Hibernate

Optimizing object retrieval

Transactional integrity and performance

Limiting retrieved data by pagination

Fetching parent and child objects

Combining pagination and JOIN fetches

Improving the speed of collection queries using batches

Minimizing query compilation with JPA-named queries

Improving the performance of bulk SQL statements

Entity caching

The first-level cache

The second-level cache

The query cache

Query hints

Entity versus query cache

Optimizing data synchronization

Summary

7. Tuning the Web Container in WildFly

Enter Undertow

Undertow internals

HTTP Upgrades

The default caching of static resources

Server and container topologies

Using XNIO

NIO basics

XNIO Workers

Tuning Undertow

Worker

The buffer pool

Tuning the servlet container and JSP compilation

Tuning hints for Jastow

Using Apache as a frontend

HTTP and AJP

Configuration

The Apache HTTPD configuration

The WildFly configuration

Summary

8. Tuning Web Applications and Services

Web applications

Choosing a web framework

The evolution of web frameworks

Tuning a web component – the data table

Tuning servlet/JSP applications

Choose the scope wisely

Session timeouts

JSP use of HttpSession

JSP include

Compression

Asynchronous servlets

Undertow's proprietary solutions

Tuning JSF-based applications

Configuring JSF state saving efficiently

The state saving method in server mode

The state saving method in client mode

A summary of state saving method configurations

The project stage

JSF Immediate

Using AJAX support in JSF

Partial DOM updates by a component and attribute

Single partial AJAX async (form) requests

Filters

Loading resource files efficiently

WebSockets

Services

Web services

Performance factors

RESTful services

Summary

9. JMS and HornetQ

Introducing JMS

The message and its optimizations

Tuning the session

Tuning MessageProducer

Optimizing HornetQ

Persistence storage tuning

Handling large messages

Optimizing paging

Message deliverance optimizations

Flow control

Miscellaneous tips and tricks

Monitoring

Summary

10. WildFly Clustering

Cluster

Load balancing

Replication

Failover, failback, and session state

High Availability

The real need of clustering

A single point of failure

WildFly clustering basics

JGroups

Tuning UDP transport

Tuning node fault detection

Tuning flow control

Infinispan

Clustering in Java EE and WildFly

Clustered EJBs

MDB

SLSB

SFSB

Load balancing

Clustered Persistence (JPA) layer

Clustered web applications

Load balancing with mod_cluster

Clustering the HornetQ messaging system

Summary

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部