- Java EE 8 High Performance
- Romain Manni Bucau
- 256字
- 2021-06-30 19:14:30
Ensure you know your resources
It is crucial to properly tune the resources (databases, thread pools, and so on). Since Java EE 6, some resources can be defined in the application. For instance, a DataSource can be defined with:
@DataSourceDefinition(
name = "java:app/jdbc/quote_manager",
className = "com.mysql.jdbc.Driver",
url = "jdbc:mysql://localhost:3306/quote_manager",
user = "root",
password = "password"
)
public class DataSourceConfiguration {
}
This is often a bad idea since you can't externally configure it (it is hardcoded). Thus, you often end up configuring the resources in server specific files or UI.
This is a good practise to avoid in the application. But outside the application, Java EE doesn't define any way or standard to configure the server. Everything is vendor specific. However, you will need to tune it! For that reason, it is crucial to ensure you know:
- What kind of resources your application needs
- How to create them and configure them in your server
This is a great start for the application side but resources are generally linked to an external side like a database. Here again, it will be very important to know the resource itself, how it is configured and potentially how to tune it if needed. A very simple example is the number of connections you can use on a database. If you can only use 20 connections, no need to configure 100 in the application, this would generate a lot of errors and slow down the application, or just make it fail depending on how the pool is configured.
- Linux操作系統基礎
- VMware Horizon View 6 Desktop Virtualization Cookbook
- Linux集群和自動化運維
- 混沌工程實戰:手把手教你實現系統穩定性
- Linux運維最佳實踐
- Learning Bootstrap
- Linux內核觀測技術BPF
- Application Development in iOS 7
- ElasticSearch Cookbook
- 云原生落地:產品、架構與商業模式
- NetDevOps入門與實踐
- Linux系統最佳實踐工具:命令行技術
- HTML5 Enterprise Application Development
- Linux集群之美
- Docker容器技術與運維