Index
A
- algorithm benchmark / Benchmark, benchmark, benchmark
- Amazon EC2 Container Service Plugin
- URL / Continuous integration platform and performance
- Amazon Web Services (AWS) / Writing performance tests – the pitfalls
- Apache Maven
- references / Setting up the environment
- application
- summary / Application summary
- business / The application business
- design / The application design
- testing / Testing the application
- quote price, obtaining with JAX-RS way / Get a quote price the JAX-RS way
- price, obtaining with WebSocket way / Get the price, the WebSocket way
- performance failure / It will fail, no doubt!
- application architecture / The application architecture
- application monitoring
- about / Libraries monitor your application
- code instrumentation / Instrumenting the code
- CDI instrumentation / CDI instrumentation
- Application Performance Management (APM) / APM
- application project, features
- about / Application project highlights
- build / The build
- persistence layer / The persistence layer
- service layer / The service layer
- JAX-RS layer / The JAX-RS layer
- WebSocket layer / The WebSocket layer
- data, provisioning / Provision some data
- application server / The application server
- asynchronous handling / Asynchronous or not?
- AWS integration
- reference / Gatling and continuous integration
B
- benchmark
- about / Benchmarking – validating your application against your SLA, Benchmark, benchmark, benchmark
- algorithm benchmark / Benchmark, benchmark, benchmark
- layer benchmark / Benchmark, benchmark, benchmark
- sizing benchmark / Benchmark, benchmark, benchmark
- deliverable benchmark / Benchmark, benchmark, benchmark
- preparing / Preparing your benchmark
- environment, defining / Defining the environment
- scenarios, automating / Automatize your scenarios
- issues / Ensuring you have support
- procedures, installing / Installing and resetting procedures
- procedures, resetting / Installing and resetting procedures
- benchmark criteria
- defining / Defining the benchmark criteria
- metric, defining / Defining the metric
- acceptance criteria / Defining acceptance criteria
- scenario, defining / Defining the scenario
- benchmarking / Benchmarking – validating your application against your SLA, Benchmark, benchmark, benchmark
- benchmark iterations
- about / Benchmark iterations, Iterating
- single setting, modifying / Changing a single setting at a time
- state, resetting between runs / Resetting any state between runs
- system, warming up / Warming up your system
- BlazeMeter
- URL / JMeter and build integration
- bulk head / Bulk head
C
- cache eviction trigger
- size / Cache eviction trigger
- expiration / Cache eviction trigger
- caching
- challenges / Caching challenges
- working / How does the cache work?
- cache key / The cache key
- eviction policy / Eviction policy
- cache storage / Cache storage – memory or not
- data consistency / Consistency of the data
- about / HTTP and caching
- adding / Cache once
- CDI asynchronous events / CDI asynchronous events
- circuit breaker / Circuit breaker
- command line interface (CLI) / JMeter
- concurrent data access / Concurrent data access
- configurable monitoring interceptor
- implementing / Implementing your own configurable monitoring interceptor
- Context and Dependency Injection (CDI)
- about / Context and Dependency Injection – what did you do to my beans?
- Inversion of Control (IoC) / IoC – a pretty simple example
- features / The main features of CDI
- injections / Injections
- scopes / Scopes
- interceptors / Interceptors/decorators
- decorators / Interceptors/decorators
- events / Events
- dynamic lookups / Dynamic lookups
- Context and Dependency Injection 2.0 (CDI) / The application architecture
- continuous integration
- about / Gatling and continuous integration
- platform / Continuous integration platform and performance
- performance / Continuous integration platform and performance
- ContiPerf
- about / ContiPerf
- diabolic pair / Arquillian and ContiPerf – the diabolic pair
- counters / Counters, gauges, timers, and more
D
- data aggregation / Sirona javaagent, Data aggregation
- DataSource
- configuration / DataSource configuration
- deliverable benchmark / Benchmark, benchmark, benchmark
- disruptor
- URL / Asynchronous or not?
- Domain Specific Language (DSL) / Gatling
- DripStat
- reference / APM
- DynaTrace
- reference / APM
E
- Eclipse
- URL / Setting up the environment
- EE concurrency utilities
- about / EE concurrency utilities for Java EE, ManagedScheduledExecutorService
- ManagedExecutorService / ManagedExecutorService
- Java EE threads / Java EE threads
- ContextService / ContextService
- EJB @Asynchronous requests / EJB @Asynchronous
- EJB @Lock / EJB @Lock
- Enterprise Java Bean 3.2 (EJB 3.2) / The service layer
- Enterprise Java Beans (EJB) / Java EE threading model
- environment
- setting up / Setting up the environment
- environment, benchmark
- machines / The machines
- network / The network
- databases / Databases and remote services
- remote services / Databases and remote services
- server / The server
- eviction policy
- about / Eviction policy
- Least Recently Used (LRU) / Least Recently Used (LRU)
- First In First Out (FIFO) / First In First Out (FIFO)
- random / Random
- Least Frequently Used (LFU) / Least Frequently Used (LFU)
- cache eviction trigger / Cache eviction trigger
F
- failover
- about / Failover
- switching, to another system / Switching to another system
- local fallback / Local fallback
- circuit breaker / Circuit breaker
- fallback code structure
- about / Fallback code structure
- microprofile, using / Microprofile to the rescue
- failover extension / Failover extension
- fallback handling, with caching / Fallback handling – caching, an alternative solution
- features, gateway
- security handling / Load balancing or proxy – additional features
- version handling / Load balancing or proxy – additional features
- rate limiting / Load balancing or proxy – additional features
- concurrent limiting / Load balancing or proxy – additional features
- features, load balancer
- compression / Load balancing or proxy – additional features
- TCP buffering / Load balancing or proxy – additional features
- HTTP caching / Load balancing or proxy – additional features
- encryption / Load balancing or proxy – additional features
- Filter class / Filter
- filters / Filters
- First In First Out (FIFO) / First In First Out (FIFO)
- Flood.IO
- URL / JMeter and build integration
- Formatter class / Formatter
- formatters / Formatters
G
- garbage collector
- about / Garbage collector
- algorithms / Garbage collector algorithms
- common memory settings / Common memory settings
- GC behavior, debugging / Debugging GC behavior
- heap dump / Heap dump
- garbage collector algorithms
- serial collector / Garbage collector algorithms, The serial collector
- parallel collector / Garbage collector algorithms, Parallel and parallel compacting collectors
- parallel compacting collector / Garbage collector algorithms, Parallel and parallel compacting collectors
- Concurrent Mark Sweep (CMS) collector / Garbage collector algorithms, Concurrent Mark Sweep (CMS)
- garbage first collector (G1) / Garbage collector algorithms
- parallel compacting collectors / Parallel and parallel compacting collectors
- Garbage First (G1) / Garbage First (G1)
- Gatling
- about / Gatling, Gatling and continuous integration
- reference / Gatling
- used, for automating scenarios / Gatling
- gauges / Counters, gauges, timers, and more
- GlassFish
- URL / The application server
- ad hoc monitoring / GlassFish ad hoc monitoring
- Glowroot
- reference / APM
H
- handlers
- about / Handler
- using / Using handlers
- histogram / Counters, gauges, timers, and more
- HTTP
- implementing / HTTP and caching
- cache-control / Cache-Control
- ETag header / ETag
- vary header / Vary
- caching / HTTP caching and the Java EE API
- Java EE API / HTTP caching and the Java EE API
- HTTP 2 / HTTP 2 promise
- HTTP threads
- about / HTTP threads
- server side / Server side
- client side / Client side
I
- InspectIT
- reference / APM
- Integrated Development Environment (IDE) / Setting up the environment
- Intellij Idea
- URL / Setting up the environment
- Inversion of Control (IoC) / The application architecture, Context and Dependency Injection – what did you do to my beans?, IoC – a pretty simple example
J
- Java
- and memory / Java and the memory
- garbage collector / Garbage collector
- and thread safety / Java and thread safety
- synchronized / Synchronized
- lock interface / Locks
- java.util.concurrent / java.util.concurrent
- volatile data / The volatile data
- javaagent
- about / Javaagent – a complex but powerful instrumentation
- sirona javaagent / Sirona javaagent
- Java Development Kit 8 (JDK 8) / Setting up the environment
- Java EE
- and resources / Java EE and the resources
- DataSource example / DataSource
- and pools / Java EE and pools
- and HTTP pools / Java EE and HTTP pools
- implicit features / Java EE implicit features
- threading model / Java EE threading model
- about / Java EE and threads
- concurrency utilities / EE concurrency utilities for Java EE
- logging components, implementing / Logging components and Java EE
- JavaEE
- DataSource example / DataSource
- Java EE performances
- about / Java EE and performances
- server / Ensure you know the server
- application / Ensure you know your application
- resources / Ensure you know your resources
- Java EE threading model
- about / Java EE threading model
- consistency / Thread data and consistency
- thread data / Thread data and consistency
- Java Flight Recorder (JFR) / The jcmd command – the small command line utility that does a lot, Java Mission Control
- Java Microbenchmark Harness (JMH)
- about / JMH – the OpenJDK tool
- used, for writing benchmark / Writing a benchmark with JMH
- state / The state
- benchmark, creating / Creating your first JMH benchmark
- BlackHole / BlackHole to be a star
- benchmarks, executing / Running the benchmarks
- integrating, with JUnit / Integrating JMH with JUnit
- ContiPerf / ContiPerf
- Java Mission Control (JMC) / Java Mission Control
- Java Persistence API (JPA)
- about / JPA – the database link
- migrating, to database / From JPA to the database
- model / Model and implications
- implications / Model and implications
- Java Standalone Edition (Java SE) / Setting up the environment
- Java Transaction API (JTA) / The application architecture, The Java Transaction API
- Java Util Logging (JUL) / I log, you log, they log
- Java Virtual Machine 8 (JVM 8) / Setting up the environment
- JAX-RS
- about / JAX-RS – the servlet router
- router / The router
- marshalling / Marshalling
- filter / Filter and interceptors
- interceptors / Filter and interceptors
- @Suspended / @Suspended or asynchronous operation
- asynchronous operation / @Suspended or asynchronous operation
- JCache
- about / JCache – the standard cache of Java EE
- setting up / Setting up JCache
- programmatic API / Programmatic API
- configuration / JCache configuration
- CDI integration / CDI integration
- cache, configuration / Cache configuration
- @CacheDefaults / @CacheDefaults
- cache key / Cache key
- jcmd command
- about / The jcmd command – the small command line utility that does a lot
- Thread.print command / Thread.print
- memory / Memory
- JMeter
- about / JMeter
- reference / JMeter
- used, for automating scenario / JMeter
- download link / JMeter
- JMX Technology
- URL / How to connect remotely
- JUL / JUL
- just in time compilation (JIT) / BlackHole to be a star
- JVisualVM
- about / JVisualVM – the UI for JVM monitoring
- remote connection / How to connect remotely
- JVM Just-In-Time (JIT) compilation / Warming up your system
- JVM monitoring
- UI / JVisualVM – the UI for JVM monitoring
K
- key usage, cache
- by reference / The cache key
- by contract / The cache key
- by value / The cache key
L
- layer benchmark / Benchmark, benchmark, benchmark
- lazerycode
- URL / JMeter and build integration
- Least Frequently Used (LFU) / Least Frequently Used (LFU)
- Least Recently Used (LRU) / Least Recently Used (LRU)
- Load Balancer / Load balancing – pick the best one
- load balancer configuration, strategies
- about / Common strategies
- round-robin algorithm / The round-robin algorithm
- random load balancing / Random load balancing
- link to failover / Link to failover
- sticky session / Sticky session
- scheduling algorithm / The scheduling algorithm
- load balancing
- about / Load balancing – pick the best one
- transparent load balancing / Transparent load balancing – client versus server
- additional features / Load balancing or proxy – additional features
- local fallback
- about / Local fallback
- code structure / Fallback code structure
- Log4j / Log4j
- Log4j2 / Log4j2
- log4j2 API
- reference / Logging facade – the good bad idea
- Logback / Logback
- logger / Logger
- Logger Factory / Logger Factory
- logging
- about / I log, you log, they log
- implementing / Logging implementations – which one to pick
- logging facade / Logging facade – the good bad idea
- logging frameworks
- about / Logging frameworks and concepts, Logging frameworks
- Log4j / Log4j
- Log4j2 / Log4j2
- Logback / Logback
- JUL / JUL
- logging implementation
- selecting / Choosing an implementation
- logging invocations / Logging invocations
- logging levels
- about / Level
- OFF / Level
- SEVERE (or ERROR) / Level
- WARNING / Level
- INFO / Level
- CONFIG / Level
- FINE / Level
- FINER / Level
- FINEST / Level
- DEBUG / Level
- ALL / Level
- testing / Testing your level
- logging patterns / Logging patterns
- LogRecord / LogRecord
M
- Mapped Diagnostic Context (MDC) / Filters
- message passing pattern / Message passing and Java EE
- Metrics from Dropwizard
- reference / Counters, gauges, timers, and more
- MySQL
- setting up / Setting up MySQL
N
- NetBeans
- URL / Setting up the environment
- New Relic
- reference / APM
O
- OpenTracing
- reference / Tracing
- optimization benchmark
- time boxing / Time boxing your optimization benchmark
P
- performance
- critical factors / Java tools to know what my application is doing
- performance tests
- writing / Writing performance tests
- ContiPerf / ContiPerf
- JMeter / JMeter and build integration
- build integration / JMeter and build integration
- gatling / Gatling and continuous integration
- continuous integration / Gatling and continuous integration
- benchmark application, deploying / Deploying your (benchmark) application
- PinPoint
- reference / APM
- post benchmark
- about / After your benchmark
- report, writing / Writing a report
- default configurations, updating / Updating your default configurations
- conclusions, reviewing / Reviewing the conclusions
- project backlog, enriching / Enriching your project backlog
R
- reactive programming
- and Java EE / Reactive programming and Java EE
- Redline.13
- URL / JMeter and build integration
- relational database management system database (RDBMS) / Databases and remote services
- RxJava
- reference / EE concurrency utilities for Java EE
S
- server resources
- about / Server resources
- DataSource, configuration / DataSource configuration
- Service Level Agreement (SLA) / Benchmarking – validating your application against your SLA
- Service Provider Interface (SPI) / Cache storage – memory or not, Arquillian and ContiPerf – the diabolic pair
- sirona
- reference / SQL Monitoring
- sirona javaagent / Sirona javaagent
- sizing benchmark / Benchmark, benchmark, benchmark
- SLF4J
- reference / Logging facade – the good bad idea
- Solid State Drive (SSD) / The server
- SQL monitoring / SQL Monitoring
T
- templates
- using, in messages / Using templates in your messages
- thread
- about / Java EE and threads
- Throttle Concurrent Build Plugin
- URL / Continuous integration platform and performance
- timeouts
- about / Timeouts
- for code without timeouts / Timeouts for code without timeouts
- timers / Counters, gauges, timers, and more
- tracing / Sirona javaagent, Tracing
- transparent load balancing / Transparent load balancing – client versus server
W
- Web Service Level Agreement (WSLA) / Benchmarking – validating your application against your SLA
- WebSocket layer / The WebSocket layer
- Wide Area Network (WAN) / Defining the metric