久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Jetty安裝配置,、特性,、以及后期優(yōu)化

 instl 2015-06-26

1) Jetty 

作用:Jetty 是一個(gè)開源的servlet容器,它為基于Javaweb內(nèi)容,,例如JSPservlet提供運(yùn)行環(huán)境,。

特性:易用性,可擴(kuò)展性,,易嵌入性

2) Jetty 安裝:

 tar zxf jetty.tar.gz -C /usr/local/jetty/ #解壓
 Java -jar stat.jar #啟動(dòng)jetty
 export JETTY_HOME=/usr/java/jetty #將Jetty路徑添加到環(huán)境變量

3) Jetty 配置:

etc:該路徑用于存放Jetty的配置文件

examples:該路徑用于存放Jetty的示例,。

legal:該路徑用于存放該項(xiàng)目的Lisence信息。

lib:該路徑用于存放運(yùn)行Jetty必需的J缸文件,。

modules:該路徑用于存放Jetty的模塊,,包括API文檔。

patches:包含一些補(bǔ)丁說明,。

pom.xm1:Jettybuild文件,,該文件不是Antbuild文件,而是mavaen2build文件,。

project-site:包含Jetty的網(wǎng)站的必需的樣式文件,。

readme.txt:包含最基本的使用信息。

start.jar:啟動(dòng)Jetty的啟動(dòng)文件,。

version.txt:Jetty版本更新日志的簡單版本,。

webapps: 該路徑用于存放自動(dòng)部署的 Web 應(yīng)用,只要將用戶的 Web 應(yīng)用復(fù)制到該路徑下,,Web 應(yīng)用將自動(dòng)部署

webapps-plus: 存放一些用于演示 Jetty 擴(kuò)展屬性的 Web 應(yīng)用,,該路徑下的 Web應(yīng)用也可自動(dòng)部署。

4) Jetty Tomcat 

 相同點(diǎn):

TomcatJetty都是一種Servlet引擎,,他們都支持標(biāo)準(zhǔn)的servlet規(guī)范和JavaEE的規(guī)范,。

 不同點(diǎn):

1.架構(gòu)比較

Jetty的架構(gòu)比Tomcat的更為簡單

Jetty的架構(gòu)是基于Handler來實(shí)現(xiàn)的,主要的擴(kuò)展功能都可以用Handler來實(shí)現(xiàn),,擴(kuò)展簡單,。

Tomcat的架構(gòu)是基于容器設(shè)計(jì)的,進(jìn)行擴(kuò)展是需要了解Tomcat的整體設(shè)計(jì)結(jié)構(gòu),,不易擴(kuò)展,。

2. 性能比較

JettyTomcat性能方面差異不大

Jetty可以同時(shí)處理大量連接而且可以長時(shí)間保持連接,適合于web聊天應(yīng)用等等。

Jetty的架構(gòu)簡單,,因此作為服務(wù)器,,Jetty可以按需加載組件,,減少不需要的組件,,減少了服務(wù)器內(nèi)存開銷,從而提高服務(wù)器性能,。

Jetty默認(rèn)采用NIO結(jié)束在處理I/O請(qǐng)求上更占優(yōu)勢,,在處理靜態(tài)資源時(shí),性能較高

Tomcat適合處理少數(shù)非常繁忙的鏈接,,也就是說鏈接生命周期短的話,,Tomcat的總體性能更高。

Tomcat默認(rèn)采用BIO處理I/O請(qǐng)求,,在處理靜態(tài)資源時(shí),,性能較差。

3.其它比較

Jetty的應(yīng)用更加快速,,修改簡單,,對(duì)新的Servlet規(guī)范的支持較好。

Tomcat目前應(yīng)用比較廣泛,,對(duì)JavaEEServlet的支持更加全面,,很多特性會(huì)直接集成進(jìn)來。

5) Jetty優(yōu)化

一,、一般調(diào)優(yōu)的基本過程

1.明了需要調(diào)優(yōu)的系統(tǒng)架構(gòu)

2.設(shè)定性能調(diào)優(yōu)的目標(biāo)

3.明了目標(biāo)當(dāng)前的性能情況

4.找出目前的性能瓶頸的所在

5.解決引起性能瓶頸的根本問題

6.重復(fù)以上過程直到達(dá)到設(shè)定目標(biāo)性能為止

二,、性能指標(biāo):

崩潰點(diǎn):同時(shí)多少并發(fā)的時(shí)候,服務(wù)器Down掉,?

吞吐量:多少人一起來,,都沒問題?

并發(fā)數(shù):每秒能處理多少人,?

響應(yīng)時(shí)間:每人需要等待的時(shí)間多長,?

三、調(diào)優(yōu)點(diǎn):

1.硬件配置優(yōu)化:

虛擬機(jī)

物理機(jī)

CPU 內(nèi)存 

 

2,、系統(tǒng)優(yōu)化(Linux)

已經(jīng)根據(jù)門戶的方式去優(yōu)化,。

 

3.JVM參數(shù)優(yōu)化:

-Xms:設(shè)置jvm內(nèi)存的初始大小

-Xmx:設(shè)置jvm內(nèi)存的最大值

-Xmn:設(shè)置新域的大小(這個(gè)似乎只對(duì) jdk1.4來說是有效的,,后來就廢棄了)

-Xss:設(shè)置每個(gè)線程的堆棧大小(也就是說,在相同物理內(nèi)存下,,減小這個(gè)值能生成更多的線程)

-XX:NewRatio :設(shè)置新域與舊域之比,如-XX:NewRatio 4就表示新域與舊域之比為1:4

-XX:NewSize:設(shè)置新域的初始值

-XX:MaxNewSize :設(shè)置新域的最大值

-XX:PermSize:設(shè)置永久域的初始值

-XX:MaxPermSize:設(shè)置永久域的最大值

-XX:SurvivorRatio=n:設(shè)置新域中Eden區(qū)與兩個(gè)Survivor區(qū)的比值,。(Eden區(qū)主要是用來存放新生的對(duì)象,,而兩個(gè) Survivor區(qū)則用來存放每次垃圾回收后存活下來的對(duì)象)

監(jiān)控內(nèi)存 CPU

常見的錯(cuò)誤 

java.lang.OutOfMemoryError相信很多開發(fā)人員都用到過,這個(gè)主要就是JVM參數(shù)沒有配好引起的,但是這種錯(cuò)誤又分兩種:java.lang.OutOfMemoryError: Java heap space和

java.lang.OutOfMemoryError: PermGen space,,其中前者是有關(guān)堆內(nèi)存的內(nèi)存溢出,,可以同過配置-Xms和-Xmx參數(shù)來設(shè)置,而后者是有關(guān)永久域的內(nèi)存溢出,,可以通過配置-XX:MaxPermSize來設(shè)置,。

 

4.容器優(yōu)化:

a.線程池

 

線程池線程資源大小確定了服務(wù)器的服務(wù)能力

默認(rèn)大小不一定能滿足生產(chǎn)環(huán)境

線程分配方式?jīng)Q定了服務(wù)器的資源利用效率

固定線程數(shù)處理多任務(wù),代表:JDK的ThreadPoolExecutor

以最大線程數(shù)為限處理多任務(wù),代表:Jetty自帶QueuedThreadPool

Work-stealing 分配,,Jetty目前沒有這個(gè)實(shí)現(xiàn) Jetty中配置實(shí)例:

 

 

maxThreads:表示最多同時(shí)處理的連接數(shù),。應(yīng)該將線程數(shù)(最大線程數(shù))設(shè)置比最大預(yù)期負(fù)載(同時(shí)并發(fā)的點(diǎn)擊)多25%(經(jīng)驗(yàn)規(guī)則)(低配置用戶可通過降低maxThreads并同時(shí)增大

acceptCount值來保證系統(tǒng)的穩(wěn)定)。

acceptCount:當(dāng)同時(shí)連接的人數(shù)達(dá)到maxThreads時(shí),,還可以接收排隊(duì)的連接,。

minSpareThread:指“啟動(dòng)以后,總是保持該數(shù)量的線程空閑等待”,;設(shè)置比預(yù)期負(fù)載多25%,。

maxSpareThread:指“如果超過了minSpareThread,然后總是保持該數(shù)量的線程空閑等待”,;設(shè)置比預(yù)期負(fù)載多25%,。

其中主要修改兩個(gè)參數(shù)maxThreads和acceptCount值。增加maxThreads,,減少acceptCount值有利縮短系統(tǒng)的響應(yīng)時(shí)間,。但是maxThreads和acceptCount的總和最高值不能超過6000,而且

maxThreads過大會(huì)增加CPU和內(nèi)存消耗,,故低配置用戶可通過降低maxThreads并同時(shí)增大acceptCount值來保證系統(tǒng)的穩(wěn)定,。

connectionTimeout:連接超時(shí),最大超時(shí)時(shí)間,,當(dāng)響應(yīng)速度慢的時(shí)候,,通過調(diào)整該參數(shù),來平衡正確率和服務(wù)器資源的回收,。

 

b.Connectors

選擇Connector時(shí),,需要考慮應(yīng)用自身的特點(diǎn),例如股票,、聊天室.

TCP 連接數(shù) Keep-Alive Java BIO Connectors SocketConnector (HTTP) 

Ajp13SocketConnector (AJP) SslSocketConnector(SSL)

Java NIO Connectors electChannelConnector(HTTP) SslSelectChannelConnector(SSL)

 

Acceptors 表示同時(shí)在監(jiān)聽read事件的線程數(shù)

默認(rèn)值是 典型值范圍 1~(處理器內(nèi)核數(shù)+1) 

對(duì)于NIO 來說,,設(shè)置為(處理器內(nèi)核數(shù)+1)比較合適

maxIdleTime 表示連接最大空閑時(shí)間 默認(rèn)值是 200000,一般這個(gè)值都太大了

典型值 3000 左右足夠 

對(duì)AJP來說一般設(shè)置為-1,,表示連接需要一直保持

 

LowResourcesMaxIdleTime 表示線程資源稀少時(shí)的maxIdleTime 默認(rèn)值是 -1,,表示沒有設(shè)置 

一般設(shè)置值應(yīng)該<=maxIdleTime

lowResourcesConnections 只有NIO才有這個(gè)設(shè)置,表示連接空閑時(shí)的連接數(shù),,大于這個(gè)數(shù)將被shutdown 

默認(rèn)值是 0,表示該設(shè)置沒有生效 每個(gè)acceptor的連接數(shù)=(lowResourcesConnections+acceptors-1)/acceptors

 

AcceptQueueSize 連接被 accept 前允許等待的連接數(shù)即Socket的Backlog ,,默認(rèn) 50

SoLingerTime 具有指定逗留時(shí)間(以毫秒為單位) 即socket的setSoLinger,,默認(rèn)關(guān)閉

ResolveNames 是否反查 getRemoteHost() 默認(rèn)false

 

c.JVM

Jetty性能調(diào)優(yōu)點(diǎn)-JVM

JVM參數(shù)調(diào)整主要涉及兩個(gè)方面 

堆/棧內(nèi)存大小調(diào)整 

Xmx/xms 最大/最小堆大小 

xmn 新生代大小 

-XX:MaxPermSize 持久代堆大小 

垃圾分配回收算法考慮暫停時(shí)間、吞吐量選擇不同算法 

串行/并行/并發(fā)收集

 

d.Content Cache

動(dòng)態(tài)內(nèi)容不會(huì)被cache 靜態(tài)內(nèi)容才會(huì)被cache

maxCacheSize 256,000,000

maxCachedFileSize 200,000,000

maxCachedFiles ?2,048

useFileMappedBuffer ?true

可以通過etc/webdefault.xml配置

 

e.冗余組件去除

去除多余的Connector 去除不需要的構(gòu)建Handler 例如SessionHandler,ServletHandler

關(guān)閉不必要的服務(wù) 例如 jmx-console,。(JBoss)

 

5.代碼優(yōu)化:

在高峰期,,減去日志記錄的操作,或者把日志暫時(shí)先緩存起來,,使用異步處理的方式,。

減少一些數(shù)據(jù)庫操作。

減少NC 身份證等匹配方式,。

 

6.數(shù)據(jù)庫優(yōu)化:

索引

視圖

 

7.其他:

壓縮css,js,圖片

使用瀏覽器緩存

CDN加速

分布式緩存服務(wù)器

集群,、負(fù)載均衡

 

三.調(diào)優(yōu)策略:

a.關(guān)鍵點(diǎn),,找到瓶頸,給瓶頸分配更多的資源,,或者減輕其工作量。

 

四,、調(diào)優(yōu)原則

a.每臺(tái)服務(wù)器,,所能承載的參數(shù),都會(huì)有差異,,尤其是內(nèi)存 CPU的配置不一致,。

b.每種服務(wù)所需的計(jì)算資源各不相同,要根據(jù)服務(wù)的偏向不同,,而去把最好的資源,,分配到最需要的地方

c.性能優(yōu)化,是永恒的話題,,沒有永久最優(yōu)解,,只能查出目前最優(yōu)解,是一個(gè)不斷優(yōu)化的過程。

 

五,、調(diào)優(yōu)技巧

1.粗狂的掃點(diǎn)與詳細(xì)的指標(biāo)相結(jié)合,,盡量讓驗(yàn)證調(diào)優(yōu)的過程更敏捷,讓主要的指標(biāo)穩(wěn)定下來,在確定指標(biāo)前,,再使用詳細(xì)的方式去測出各種指標(biāo),。

2.分輪測試,在測試結(jié)果中,,找出各個(gè)參數(shù)的規(guī)律,。為調(diào)優(yōu)提供指導(dǎo)數(shù)據(jù)。

3.在程序增加計(jì)數(shù)器,,驗(yàn)證LR的請(qǐng)求次數(shù),。

4.在程序每個(gè)步驟,增加多一些時(shí)間,,檢查下,,到底是卡在哪個(gè)步驟,,尤其是操作數(shù)據(jù)庫前后。

 

 

 

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多