Home php教程 PHP开发 tomcat performance tuning and performance monitoring (visualvm)

tomcat performance tuning and performance monitoring (visualvm)

Nov 22, 2016 pm 01:24 PM
tomcat visualvm

tomcat server optimization

1. JDK memory optimization

Configure relevant parameters to optimize tomcat performance according to the physical content of the server. When the memory required by an application exceeds the maximum heap value, the virtual machine will prompt a memory overflow and cause the application service to crash. Therefore, it is generally recommended that the maximum heap size be set to 80% of the maximum available memory. The default memory that Tomcat can use is 128MB. In larger application projects, this memory is not enough and needs to be increased.

The memory that Tomcat can use by default is 128MB. Under Windows, in the file /bin/catalina.bat , under Unix, add the following settings in front of the file /bin/catalina.sh: JAVA_OPTS='-Xms [initial memory size] -Xmx [maximum memory that can be used] -XX:PermSize=64M -XX:MaxPermSize=128m ' Several parameter values ​​need to be increased. For example: JAVA_OPTS='-Xms256m -Xmx512m' means the initial memory is 256MB and the maximum memory that can be used is 512MB.

Detailed explanation of parameters

-server 启用jdk 的 server 版; -Xms java虚拟机初始化时的最小内存; -Xmx java虚拟机可使用的最大内存; -XX:PermSize 内存永久保留区域 -XX:MaxPermSize 内存最大永久保留区域 -Xmn    jvm最小内存
Copy after login

32G memory configuration example:

JAVA_OPTS="$JAVA_OPTS  -Xms10g -Xmx10g -XX:PermSize=1g -XX:MaxPermSize=2g -Xshare:off -Xmn1024m
Copy after login

2. Tomcat thread optimization

In the configuration in the tomcat configuration file server.xml, the parameters related to the number of connections are:

maxThreads: Tomcat uses threads to Handle every request received. This value represents the maximum number of threads that Tomcat can create. Default value is 150.

acceptCount: Specifies the number of requests that can be placed in the processing queue when all available threads for processing requests are used. Requests exceeding this number will not be processed. Default value is 10.

minSpareThreads: The number of threads created when Tomcat is initialized. Default value is 25.

maxSpareThreads: Once the number of created threads exceeds this value, Tomcat will close socket threads that are no longer needed. Default value is 75.

enableLookups: Whether to reversely check the domain name, the default value is true. In order to improve processing capabilities, it should be set to false

connnectionTimeout: Network connection timeout, default value 60000, unit: milliseconds. Setting it to 0 means it will never time out, which is a dangerous setting. Usually it can be set to 30000 milliseconds.

maxKeepAliveRequests: Number of keep requests, default value is 100. bufferSize: Input stream buffer size, default value 2048 bytes.

compression: Compression transmission, value on/off/force, default value off. The parameters related to the maximum number of connections are maxThreads and acceptCount. If you want to increase the number of concurrent connections, you should increase these two parameters at the same time.

32G memory configuration example:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" maxThreads="1000" minSpareThreads="60" maxSpareThreads="600" acceptCount="120" redirectPort="8443" URIEncoding="utf-8"/>
Copy after login

Using visualvm performance monitoring

1. What is VisualVM

FastDFS is a monitoring tool that comes with jdk. It provides a visual interface for viewing details of Java technology-based programs running on the Java Virtual Machine. VisualVM organizes the JVM software-related data retrieved by the Java Development Kit (JDK) tools and provides that information in a way that allows you to quickly view data about multiple Java applications. You can view relevant data of local applications and applications running on the remote host

2. How to install

There is a jvisualvm.exe file in the jkd bin directory and you can use it by double-clicking it

3. How to use jvisualvm

1 , Configure JMX to manage tomcat:

set JAVA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.authenticate=false -    Dcom.sun.management.jmxremote.ssl=false
Copy after login

2. Restart tomcat

3. Double-click jvisualvm.exe to add the server IP address and add the jmx port that needs to be monitored

The effect is as follows:

tomcat performance tuning and performance monitoring (visualvm)

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to deploy jar project in tomcat How to deploy jar project in tomcat Apr 21, 2024 am 07:27 AM

To deploy a JAR project to Tomcat, follow these steps: Download and unzip Tomcat. Configure the server.xml file, set the port and project deployment path. Copies the JAR file to the specified deployment path. Start Tomcat. Access the deployed project using the provided URL.

How to allow external network access to tomcat server How to allow external network access to tomcat server Apr 21, 2024 am 07:22 AM

To allow the Tomcat server to access the external network, you need to: modify the Tomcat configuration file to allow external connections. Add a firewall rule to allow access to the Tomcat server port. Create a DNS record pointing the domain name to the Tomcat server public IP. Optional: Use a reverse proxy to improve security and performance. Optional: Set up HTTPS for increased security.

Where is the tomcat installation directory? Where is the tomcat installation directory? Apr 21, 2024 am 07:48 AM

Tomcat installation directory: Default path: Windows: C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9 Custom path: You can specify it during installation. Find the installation directory: use whereis or locate command.

How to deploy multiple projects in tomcat How to deploy multiple projects in tomcat Apr 21, 2024 am 09:33 AM

To deploy multiple projects through Tomcat, you need to create a webapp directory for each project and then: Automatic deployment: Place the webapp directory in Tomcat's webapps directory. Manual deployment: Manually deploy the project in Tomcat's manager application. Once the project is deployed, it can be accessed by its deployment name, for example: http://localhost:8080/project1.

How to check the number of concurrent connections in tomcat How to check the number of concurrent connections in tomcat Apr 21, 2024 am 08:12 AM

How to check the number of concurrent Tomcat connections: Visit the Tomcat Manager page (http://localhost:8080/manager/html) and enter your user name and password. Click Status->Sessions in the left navigation bar to see the number of concurrent connections at the top of the page.

Where is the root directory of the tomcat website? Where is the root directory of the tomcat website? Apr 21, 2024 am 09:27 AM

The Tomcat website root directory is located in Tomcat's webapps subdirectory and is used to store web application files, static resources, and the WEB-INF directory; it can be found by looking for the docBase attribute in the Tomcat configuration file.

How to check the port number of tomcat How to check the port number of tomcat Apr 21, 2024 am 08:00 AM

The Tomcat port number can be viewed by checking the port attribute of the <Connector> element in the server.xml file. Visit the Tomcat management interface (http://localhost:8080/manager/html) and view the "Status" tab. Run "catalina.sh version" from the command line and look at the "Port:" line.

How to run two projects with different port numbers in tomcat How to run two projects with different port numbers in tomcat Apr 21, 2024 am 09:00 AM

Running projects with different port numbers on the Tomcat server requires the following steps: Modify the server.xml file and add a Connector element to define the port number. Add a Context element to define the application associated with the port number. Create a WAR file and deploy it to the corresponding directory (webapps or webapps/ROOT). Restart Tomcat to apply changes.

See all articles