日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linux安裝版Tomcat內(nèi)存優(yōu)化指南(linux安裝版tomcat內(nèi)存設(shè)置)

當(dāng)我們?cè)谑褂肨omcat時(shí),經(jīng)常會(huì)出現(xiàn)內(nèi)存耗盡的情況,導(dǎo)致應(yīng)用程序崩潰甚至服務(wù)器崩潰。因此,內(nèi)存優(yōu)化是非常重要的一項(xiàng)工作。接下來,我們將為您介紹如何在Linux安裝版Tomcat上進(jìn)行內(nèi)存優(yōu)化指南。

創(chuàng)新互聯(lián)建站于2013年創(chuàng)立,先為芒康等服務(wù)建站,芒康等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為芒康企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

之一步: 調(diào)整JVM內(nèi)存參數(shù)

JVM是Tomcat的虛擬機(jī)。因此,調(diào)整JVM的內(nèi)存參數(shù)是優(yōu)化Tomcat內(nèi)存的之一步。

方法如下:

1.編輯$TOMCAT_HOME/bin/catalina.sh文件,找到JAVA_OPTS參數(shù):

JAVA_OPTS=”-server -Xms1024m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=128m”

2.增加-XX:+UseG1GC參數(shù)

JAVA_OPTS=” -server -Xms1024m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=128m -XX:+UseG1GC”

3.測(cè)試JVM參數(shù)

在catalina.sh文件中寫入以下命令:

echo $JAVA_OPTS

然后更改Tomcat的JAVA_OPTS變量,您將看到結(jié)果如下:

-server -Xms1024m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=128m -XX:+UseG1GC

第二步: 減少應(yīng)用程序和Tomcat的內(nèi)存使用

在以下情況下,Tomcat內(nèi)存的使用不是100%由JVM內(nèi)存控制。還需要優(yōu)化應(yīng)用程序代碼和Tomcat容器本身。

1. 減小P的BUFFER大小

打開$TOMCAT_HOME/conf/web.xml 文件

找到標(biāo)簽內(nèi)的javax.servlet.jsp.jstl.fmt.localizationContext

修改為以下內(nèi)容:

??javax.servlet.jsp.jstl.fmt.localizationContext

??messages

??buffer

??8192

??isELIgnored

??false

增加標(biāo)簽中的buffer和8192,從而減小P的BUFFER大小。

2. 增加壓縮靜態(tài)資源壓縮

默認(rèn)情況下,Tomcat不支持壓縮靜態(tài)資源,可能會(huì)浪費(fèi)大量的內(nèi)存。為了將內(nèi)存使用減少到更低限度,您可以使用下面的方法開啟壓縮。

打開$TOMCAT_HOME/conf/server.xml 文件。

找到以下內(nèi)容:

connectionTimeout=”20230″

redirectPort=”8443″ />

你需要將其修改為如下所示:

               connectionTimeout=”20230″

               redirectPort=”8443″

               compression=”on”

               compressionMinSize=”2023″

               noCompressionUserAgents=”gozilla, traviata”

               compressableMimeType=”text/html,text/xml,text/javascript,text/css”/>

3. 在應(yīng)用程序中減少對(duì)象的大小

在寫應(yīng)用程序的時(shí)候,我們盡量讓對(duì)象都變得更小。

例如:

String str = “Hello World”;

List list = new ArrayList();

這里,我們可以使用:

String str = “Hello World”;

List list = new ArrayList(5);

減少內(nèi)存使用量。這樣,我們能夠節(jié)省應(yīng)用程序和Tomcat的內(nèi)存使用。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220

Tomcat配置實(shí)踐

要部署使用tomcat,則必須了解tomcat的目錄結(jié)構(gòu)以及各目錄的作用。這里以tomcat7為例,進(jìn)入tomcat安裝目錄下:

前端請(qǐng)求被tomcat直接接收或者由前端的代理,通過HTTP,或者AJP代理給Tomcat,此時(shí)請(qǐng)求被tomcat中的connector接收,不同的connector和Engine被service組件關(guān)聯(lián)起來,在一個(gè)Engine中定義了許多的虛擬主機(jī),由Host容器定義,每一個(gè)Host容器代表一個(gè)主機(jī),在各自的Host中,又可以定義多個(gè)Context,用此來定義一個(gè)虛擬主機(jī)中的多個(gè)獨(dú)立的應(yīng)用程序。

Tomcat Server的結(jié)構(gòu)圖如下:

看上去很復(fù)雜。其實(shí),大部分都是注釋。下面是一個(gè)簡(jiǎn)圖說明了各組件之間的關(guān)系!

上面列出的比較常用的組件元素,server.xml文件中可定義的元素非常多,包括Server, Service, Connector, Engine, Cluster, Host, Alias, Context, Realm, Valve, Manager, Listener, Resources, Resource, ResourceEnvRef, ResourceLink, WatchedResource, GlobalNameingResources, Store, Transaction, Channel, Membership, Transport, Member, ClusterListener等等。

由以上配置不難看出存在的一個(gè)問題。如果我們想要對(duì)其中一個(gè)應(yīng)用程序的配置做一些修改,那么就必須重新啟動(dòng)tomcat,那樣勢(shì)必就會(huì)影響到另外兩個(gè)應(yīng)用程序的正常服務(wù)。因此以上配置是不適合線上使用的,

因此需要將其配置為多實(shí)例,每個(gè)實(shí)例只跑一個(gè)獨(dú)立的應(yīng)用程序,那樣我們應(yīng)用程序之間就不會(huì)在互相受到影響。

但是我們將面臨這樣一豎雹個(gè)問題,80端口只能被一個(gè)HTTP/1.1 Connector監(jiān)聽,而三個(gè)tomcat實(shí)例則至少需要3個(gè)HTTP/1.1 Connector,這樣我們就

需要一個(gè)前端代理做分發(fā)處理,接收HTTP 80端口的請(qǐng)求,按域名通過每個(gè)tomcat實(shí)例的AJP/1.3 Connector傳遞請(qǐng)求

。而前端的代理選擇apache,基于這樣的思路,我們還可以做到tomcat的負(fù)載均衡,而且

apache會(huì)將接收的HTTP超文本傳輸報(bào)文重新封裝成二進(jìn)制格式通過AJP/1.3 協(xié)議傳遞給后端的tomcat處理

,在效率上余指帆也是有明顯的提升。

這會(huì)讓Tomcat啟動(dòng)一個(gè)server實(shí)例(即一個(gè)JVM),它監(jiān)聽在8005端口以接收shutdown命令。各Server的定義不能使用同一個(gè)端口,這意味著如果在同一個(gè)物理機(jī)上啟動(dòng)了多個(gè)Server實(shí)例,必須配置它們使用不同的端口。這個(gè)端口的定義用于為管理員提供一個(gè)關(guān)閉此實(shí)例的便捷途徑,因此,管理員可以直接telnet至此端口使用SHUTDOWN命令關(guān)閉此實(shí)例。不過,基于安全角度的考慮,這通常不允許遠(yuǎn)程進(jìn)行。

該元素代表整個(gè)容器,是Tomcat實(shí)例的頂層元素。由org.apache.catalina.Server接口來定義。它包含一個(gè)或多個(gè)元素。并且它不能做為任何元素的子元素。

Service主要用于關(guān)聯(lián)一個(gè)引擎和與此引擎相關(guān)的連接器,每個(gè)連接器通過一個(gè)特定的端口和協(xié)議接收入站請(qǐng)求交將其轉(zhuǎn)發(fā)至關(guān)聯(lián)的引擎進(jìn)行處理。因此,Service要包含一個(gè)引擎、一個(gè)或多個(gè)連接器。

該元素由org.apache.catalina.Service接口定義,它包含一個(gè)元素,以及一個(gè)或多個(gè),這些Connector元素共享用同一個(gè)Engine元素。

Engine是Servlet處理器的一個(gè)實(shí)逗備例,即servlet引擎,默認(rèn)為定義在server.xml中的Catalina。

每個(gè)Service元素只能有一個(gè)Engine元素。元素處理在同一個(gè)中所有元素接收到的客戶請(qǐng)求。由org.apahce.catalina.Engine接口定義。

位于Engine容器中用于接收請(qǐng)求并進(jìn)行相應(yīng)處理的主機(jī)或虛擬主機(jī)。

它由Host接口定義。一個(gè)Engine元素可以包含多個(gè)元素。每個(gè)的元素定義了一個(gè)虛擬主機(jī)。它包含了一個(gè)或多個(gè)Web應(yīng)用。

Context在某些意義上類似于apache中的路徑別名,一個(gè)Context定義用于標(biāo)識(shí)tomcat實(shí)例中的一個(gè)Web應(yīng)用程序。

它由Context接口定義。是使用最頻繁的元素。每個(gè)元素代表了運(yùn)行在虛擬主機(jī)上的單個(gè)Web應(yīng)用。一個(gè)可以包含多個(gè)元素。每個(gè)web應(yīng)用有唯一的一個(gè)相對(duì)應(yīng)的Context代表web應(yīng)用自身。servlet容器為之一個(gè)web應(yīng)用創(chuàng)建一個(gè) ServletContext對(duì)象。

由Connector接口定義。元素代表與客戶程序?qū)嶋H交互的組件,它負(fù)責(zé)接收客戶請(qǐng)求,以及向客戶返回響應(yīng)結(jié)果。

進(jìn)入Tomcat的請(qǐng)求可以根據(jù)Tomcat的工作模式分為如下兩類:

Tomcat應(yīng)該考慮工作情形并為相應(yīng)情形下的請(qǐng)求分別定義好需要的連接器才能正確接收來自于客戶端的請(qǐng)求。一個(gè)引擎可以有一個(gè)或多個(gè)連接器,以適應(yīng)多種請(qǐng)求方式。

定義連接器可以使用多種屬性,有些屬性也只適用于某特定的連接器類型。一般說來,常見于server.xml中的連接器類型通常有4種:

Connector元素共用屬性:

HttpConnector元素的屬性:

AJP Connector的屬性:

即一個(gè)service配置多個(gè)端口,項(xiàng)目可以通過多個(gè)端口訪問。

修改tomcat-home\conf下的server.xml,在Service下配置多個(gè)即可。

在這個(gè)應(yīng)用里,可以用8080端口號(hào)訪問服務(wù),也可以用8099端口號(hào)來訪問服務(wù); 服務(wù)放置的路徑由host決定,上例中服務(wù)放在webapps下。

即配置多個(gè)service,每個(gè)service可以配置多個(gè)端口。修改tomcat-home\conf下的server.xml,添加多個(gè)Service即可。

注意:Service name、Engine name、appBase,端口號(hào)別忘了修改,以免重復(fù)。

以上三個(gè)service,發(fā)布的路徑不同,項(xiàng)目分別發(fā)布在webapps、webapps1、webapps2下,訪問不同的項(xiàng)目的方法:

在$CATALINA_HOME/conf/server.xml配置文件中的Connetctor節(jié)點(diǎn),和連接數(shù)相關(guān)的參數(shù)配置和優(yōu)化。

Tomcat使用線程來處理接收的每個(gè)請(qǐng)求。這個(gè)值表示Tomcat可創(chuàng)建的更大的線程數(shù)。默認(rèn)值200。

可以根據(jù)機(jī)器的時(shí)期性能和內(nèi)存大小調(diào)整,一般可以在

。更大可以在800左右。

指定當(dāng)所有可以使用的處理請(qǐng)求的線程數(shù)都被使用時(shí),可以放到處理隊(duì)列中的請(qǐng)求數(shù),超過這個(gè)數(shù)的請(qǐng)求將不予處理。默認(rèn)值10。

Tomcat初始化時(shí)創(chuàng)建的線程數(shù)。默認(rèn)值4。

一旦創(chuàng)建的線程超過這個(gè)值,Tomcat就會(huì)關(guān)閉不再需要的socket線程。默認(rèn)值50。

是否反查域名,默認(rèn)值為true。

為了提高處理能力,應(yīng)設(shè)置為false

。

網(wǎng)絡(luò)連接超時(shí),默認(rèn)值20230,單位:毫秒。設(shè)置為0表示永不超時(shí),這樣設(shè)置有隱患的。

通常可設(shè)置為30000毫秒

。

保持請(qǐng)求數(shù)量,默認(rèn)值100。

輸入流緩沖大小,默認(rèn)值2023 bytes。

壓縮傳輸,取值on/off/force,默認(rèn)值off。

其中和更大連接數(shù)相關(guān)的參數(shù)為maxThreads和acceptCount。

如果要加大并發(fā)連接數(shù),應(yīng)同時(shí)加大這兩個(gè)參數(shù)

。

web server允許的更大連接數(shù)還受制于操作系統(tǒng)的內(nèi)核參數(shù)設(shè)置

,通常Windows是2023個(gè)左右,Linux是1000個(gè)左右。

配置示例:

Tomcat默認(rèn)可以使用的內(nèi)存為128MB,Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件$CATALINA_HOME/bin/catalina.sh的前面,增加如下設(shè)置:

一般說來,你應(yīng)該使用物理內(nèi)存的 80% 作為堆大小。如果本機(jī)上有Apache服務(wù)器,可以先折算Apache需要的內(nèi)存,然后修改堆大小。

建議設(shè)置為70%;建議設(shè)置等于,這樣可以減少頻繁分配堆而降低性能。

在$CATALINA_HOME/conf/web.xml中,把listings參數(shù)設(shè)置成false即可,如下:

參考

linux怎么配置tomcat

方法/步驟 首先是到官網(wǎng)下載tomcat,選游租擇你需要的族野版本下載安裝即可,相信能搭建服務(wù)的對(duì)安裝肯定很熟了,不熟悉的同學(xué)自己百度或者google吧,網(wǎng)上有很多。我主要講一神穗兆下配置過程。 tomcat安裝好后首先要對(duì)它進(jìn)行配置文件的修改。

關(guān)于linux安裝版tomcat內(nèi)存設(shè)置的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

創(chuàng)新互聯(lián)【028-86922220】值得信賴的成都網(wǎng)站建設(shè)公司。多年持續(xù)為眾多企業(yè)提供成都網(wǎng)站建設(shè),成都品牌建站設(shè)計(jì),成都高端網(wǎng)站制作開發(fā),SEO優(yōu)化排名推廣服務(wù),全網(wǎng)營(yíng)銷讓企業(yè)網(wǎng)站產(chǎn)生價(jià)值。


分享名稱:Linux安裝版Tomcat內(nèi)存優(yōu)化指南(linux安裝版tomcat內(nèi)存設(shè)置)
網(wǎng)頁網(wǎng)址:http://www.5511xx.com/article/djhossj.html