自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Tomcat:性能優(yōu)化策略

開(kāi)發(fā) 前端
學(xué)習(xí)優(yōu)化的原則提供給大家優(yōu)化思路,沒(méi)有說(shuō)有明確的參數(shù)值大家直接去使用,必須根據(jù)自己的真實(shí)生產(chǎn)環(huán)境來(lái)進(jìn)行調(diào)整,調(diào)優(yōu)是一個(gè)過(guò)程。

一、背景

系統(tǒng)性能的衡量指標(biāo),主要是響應(yīng)時(shí)間和吞吐量。

1)響應(yīng)時(shí)間:執(zhí)行某個(gè)操作的耗時(shí);

2) 吞吐量:系統(tǒng)在給定時(shí)間內(nèi)能夠支持的事務(wù)數(shù)量,單位為T(mén)PS(Transactions PerSecond的縮寫(xiě),也就是事務(wù)數(shù)/秒,一個(gè)事務(wù)是指一個(gè)客戶機(jī)向服務(wù)器發(fā)送請(qǐng)求然后服務(wù)器做出反應(yīng)的過(guò)程。

Tomcat優(yōu)化從兩個(gè)方面進(jìn)行

1)JVM虛擬機(jī)優(yōu)化(優(yōu)化內(nèi)存模型)

2)Tomcat自身配置的優(yōu)化(比如是否使用了共享線程池?IO模型?)

學(xué)習(xí)優(yōu)化的原則提供給大家優(yōu)化思路,沒(méi)有說(shuō)有明確的參數(shù)值大家直接去使用,必須根據(jù)自己的真實(shí)生產(chǎn)環(huán)境來(lái)進(jìn)行調(diào)整,調(diào)優(yōu)是一個(gè)過(guò)程。

二、Jvm虛擬機(jī)運(yùn)行優(yōu)化

Java 虛擬機(jī)的運(yùn)行優(yōu)化主要是內(nèi)存分配和垃圾回收策略的優(yōu)化:

  • 內(nèi)存直接影響服務(wù)的運(yùn)行效率和吞吐量
  • 垃圾回收機(jī)制會(huì)不同程度地導(dǎo)致程序運(yùn)行中斷(垃圾回收策略不同,垃圾回收次數(shù)和回收效率都是不同的

1) Java 虛擬機(jī)內(nèi)存模型和相關(guān)參數(shù)

2) 垃圾回收(GC)策略垃圾回收性能指標(biāo)吞吐量:

  • 工作時(shí)間(排除GC時(shí)間)占總時(shí)間的百分比, 工作時(shí)間并不僅是程序運(yùn)行的時(shí)間,還包含內(nèi)存分配時(shí)間。
  • 暫停時(shí)間:由垃圾回收導(dǎo)致的應(yīng)用程序停止響應(yīng)次數(shù)/時(shí)間。

垃圾收集器

  • 串行收集器(Serial Collector)

單線程執(zhí)行所有的垃圾回收工作, 適用于單核CPU服務(wù)器工作進(jìn)程

工作進(jìn)程-----|(單線程)垃圾回收線程進(jìn)行垃圾收集|---工作進(jìn)程繼續(xù)

  • 并行收集器(Parallel Collector)

工作進(jìn)程-----|(多線程)垃圾回收線程進(jìn)行垃圾收集|---工作進(jìn)程繼續(xù)

又稱為吞吐量收集器(關(guān)注吞吐量), 以并行的方式執(zhí)行年輕代的垃圾回收, 該方式可以顯著降低垃圾回收的開(kāi)銷(xiāo)(指多條垃圾收集線程并行工作,但此時(shí)用戶線程仍然處于等待狀態(tài))。

適用于多處理器或多線程硬件上運(yùn)行的數(shù)據(jù)量較大的應(yīng)

  • 并發(fā)收集器(Concurrent Collector)

以并發(fā)的方式執(zhí)行大部分垃圾回收工作,以縮短垃圾回收的暫停時(shí)間。

適用于那些響應(yīng)時(shí)間優(yōu)先于吞吐量的應(yīng)用, 因?yàn)樵撌占麟m然最小化了暫停時(shí)間(指用戶線程與垃圾收集線程同時(shí)執(zhí)行,但不一定是并行的,可能會(huì)交替進(jìn)行), 但是會(huì)降低應(yīng)用程序的性能

  • CMS收集器(Concurrent Mark Sweep Collector)

并發(fā)標(biāo)記清除收集器, 適用于那些更愿意縮短垃圾回收暫停時(shí)間并且負(fù)擔(dān)的起與垃圾回收共享處理器資源的應(yīng)用

  • G1收集器(Garbage-First Garbage Collector)

適用于大容量?jī)?nèi)存的多核服務(wù)器, 可以在滿足垃圾回收暫停時(shí)間目標(biāo)的同時(shí), 以最大可能性實(shí)現(xiàn)高吞吐量( JDK1.7之后)

三、Tomcat配置調(diào)優(yōu)

  • 調(diào)整tomcat線程池

  • 調(diào)整tomcat的連接器

調(diào)整tomcat/conf/server.xml 中關(guān)于鏈接器的配置可以提升應(yīng)用服務(wù)器的性能

  • 禁用 AJP 連接器

  • 調(diào)整 IO 模式

Tomcat8之前的版本默認(rèn)使用BIO(阻塞式IO),對(duì)于每一個(gè)請(qǐng)求都要?jiǎng)?chuàng)建一個(gè)線程來(lái)處理,不適合高并發(fā);Tomcat8以后的版本默認(rèn)使用NIO模式(非阻塞式IO)

當(dāng)Tomcat并發(fā)性能有較高要求或者出現(xiàn)瓶頸時(shí),我們可以嘗試使用APR模式,APR(Apache PortableRuntime)是從操作系統(tǒng)級(jí)別解決異步IO問(wèn)題,使用時(shí)需要在操作系統(tǒng)上安裝APR和Native(因?yàn)锳PR原理是使用使用JNI技術(shù)調(diào)用操作系統(tǒng)底層的IO接口)

  • 動(dòng)靜分離

可以使用Nginx+Tomcat相結(jié)合的部署方案,Nginx負(fù)責(zé)靜態(tài)資源訪問(wèn),Tomcat負(fù)責(zé)Jsp等動(dòng)態(tài)資源訪問(wèn)處理(因?yàn)門(mén)omcat不擅?處理靜態(tài)資源)

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2009-09-08 09:45:23

App Engine性

2020-10-07 14:20:41

Tomcat深入解析

2023-01-30 08:30:09

Tomcat性能優(yōu)化

2021-07-16 23:01:03

SQL索引性能

2025-01-15 08:05:06

MySQLLEFT JOIN數(shù)據(jù)庫(kù)

2013-07-23 09:51:32

Tomcat性能優(yōu)化服務(wù)器性能優(yōu)化

2021-07-26 18:23:23

SQL策略優(yōu)化

2016-11-17 09:00:46

HBase優(yōu)化策略

2017-03-01 20:53:56

HBase實(shí)踐

2014-06-05 10:22:06

Tomcat 7

2010-05-05 11:48:27

Oracle設(shè)計(jì)開(kāi)發(fā)階

2017-08-14 09:05:50

SIOC存儲(chǔ)負(fù)載

2024-03-01 12:19:00

接口性能優(yōu)化

2018-06-27 08:21:31

前端Web渲染

2024-09-04 14:28:20

Python代碼

2010-11-15 16:13:24

Oracle數(shù)據(jù)庫(kù)性能

2019-01-04 13:30:58

系統(tǒng) 優(yōu)化 數(shù)據(jù)

2024-05-24 08:59:15

2023-12-12 08:00:00

2022-07-21 18:51:13

性能優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)