Bagaimana untuk mengoptimumkan konfigurasi memori Tomcat?
Tomcat kini merupakan bekas pelayan web Java yang paling popular, dan prestasi serta kestabilannya adalah penting untuk pengendalian aplikasi. Mengkonfigurasi penggunaan memori Tomcat dengan betul bukan sahaja boleh meningkatkan prestasi pelayan, tetapi juga mengelakkan ranap aplikasi yang disebabkan oleh memori yang tidak mencukupi. Artikel ini akan memperkenalkan beberapa kaedah untuk mengoptimumkan konfigurasi memori Tomcat dan memberikan contoh kod tertentu.
Tingkatkan saiz memori timbunan Tomcat:
Dalam skrip permulaan Tomcat (catalina.sh atau catalina.bat), anda boleh melaraskan saiz memori timbunan Tomcat dengan menetapkan pembolehubah persekitaran JAVA_OPTS. Berikut ialah contoh:
export JAVA_OPTS="-Xms512m -Xmx1024m"
Kod di atas menetapkan saiz timbunan awal Tomcat kepada 512MB dan saiz timbunan maksimum kepada 1024MB. Anda boleh melaraskan nilai ini dengan sewajarnya mengikut situasi sebenar.
Dayakan dan laraskan parameter kutipan sampah (Kutipan Sampah):
Tambah parameter kutipan sampah berikut pada pembolehubah persekitaran JAVA_OPTS untuk mengoptimumkan prestasi kutipan sampah:
export JAVA_OPTS="-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70"
Kod di atas membolehkan penggunaan CMS (Concurrent Mark Sapu) pengumpul sampah, dan tetapkan pengumpul CMS untuk mula berfungsi apabila penggunaan memori timbunan mencapai 70%.
Laraskan bilangan utas Tomcat:
Tomcat’s Connector menggunakan kumpulan benang untuk memproses permintaan. Jika terdapat terlalu banyak permintaan serentak, kumpulan benang boleh menyebabkan permintaan disekat atau ditolak kerana urutan tidak mencukupi. Saiz kumpulan benang boleh dilaraskan dengan mengubah suai pelayan Tomcat. Anda boleh melaraskan nilai ini dengan sewajarnya mengikut situasi sebenar.
Untuk menukar pengurus Sesi kepada mod berasaskan pangkalan data, anda boleh mengkonfigurasinya seperti berikut:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="200" minSpareThreads="25" maxConnections="10000" />
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="true" maxIdleBackup="30"> <Store className="org.apache.catalina.session.JDBCStore" connectionURL="jdbc:mysql://localhost:3306/tomcat_sessions?user=root&password=123456&autoReconnect=true" driverName="com.mysql.cj.jdbc.Driver" sessionAppCol="app" sessionDataCol="data" sessionIdCol="id" sessionLastAccessedCol="lastaccess" sessionMaxInactiveCol="maxinactive" sessionTable="sessions"/> </Manager>
Atas ialah kandungan terperinci Apakah cara terbaik untuk mengoptimumkan konfigurasi memori Tomcat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!