多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 服務器 > Apache和Tomcat結合提高性能的優化辦法

Apache和Tomcat結合提高性能的優化辦法

來源:程序員人生   發布時間:2013-12-29 18:20:57 閱讀次數:2787次
研究了Apache 和Tomcat做負載均衡,系統正式上線后就需要考慮如果對Apache和Tomcat進行性能優化,以便能夠充分發揮硬件和軟件的處理能力。

Apache Http Server:

  影響性能的最核心特性:MPM(Multi-Processing Modules,多道處理模塊):

進入httpd-2.0.45目錄,運行以下代碼:

$ ./configure --help|grep mpm

顯示如下:

--with-mpm=MPM Choose the process model for Apache to use. MPM={beos|worker|prefork|mpmt_os2| perchild|leader|threadpool}

上述操作用來選擇要使用的進程模型,即哪種MPM模塊。prefork就是Unix平臺上缺省的MPM。查看Httpd.conf

<IfModule mpm_prefork_module> #    StartServers          5 #    MinSpareServers       5 #    MaxSpareServers      10 #    MaxClients          150 #    MaxRequestsPerChild   0          ServerLimit          2048 //可配置的進程數的上限          ThreadLimit          64 //設置在每個子進程可配置的線程數上限          StartServers          8 //初始化進程數          MaxClients         2048//設定的是Apache可以同時處理的請求,是最重要的參數          MinSpareThreads      64//最小空閑進程          MaxSpareThreads      256 //最大空閑進程          ThreadsPerChild       64          MaxRequestsPerChild   0 //(默認10000)每個子進程可處理的請求書,每個子進程在處理了“MaxRequestsPerChild”個請求后將自動銷毀。0意味著無限,即子進程永不銷毀。 </IfModule>

StartServersMinSpareServersMaxSpareServersMaxClients指令用于調節父進程如何產生子進程.

MaxClients:設定的是Apache可以同時處理的請求數,默認值是256。若要提高最大請求數,需要添加ServerLimit數,ServerLimit最大支持20000,注意:ServerLimit需要放置于MaxClient前面.一般設置小于MaxClients。

MaxRequestsPerChild指令控制服務器殺死舊進程產生新進程的頻率。

MaxSpareServers指令設置空閑子進程的最大數量。所謂空閑子進程是指沒有正在處理請求的子進程。如果當前有超過MaxSpareServers數量的空閑子進程,那么父進程將殺死多余的子進程。

MinSpareServers指令設置空閑子進程的最小數量。所謂空閑子進程是指沒有正在處理請求的子進程。如果當前空閑子進程數少于MinSpareServers ,那么Apache將以最大每秒一個的速度產生新的子進程。

Tomcat性能優化:

1 JVM內存調整

當應用程序需要的內存超出堆的最大值時虛擬機就會提示內存溢出,并且導致應用服務崩潰。因此一般建議堆的最大值設置為可用內存的最大值的80%。

-Xms<size> 表示JVM初始化堆的大小,-Xmx<size>表示JVM堆的最大值。這兩個值的大小一般根據需要進行設置。

說明:如果-Xmx不指定或者指定偏小,應用可能會導致java.lang.OutOfMemory錯誤,此錯誤來自JVM不是Throwable的,無法用try...catch捕捉。

PermSize和MaxPermSize指明虛擬機為java永久生成對象(Permanate generation)如,class對象、方法對象這些可反射(reflective)對象分配內存限制,這些內存不包括在Heap(堆內存)區之中。 
-XX:PermSize=512MB 最小尺寸,初始分配 
-XX:MaxPermSize=512MB 最大允許分配尺寸,按需分配

在Tomcat安裝目錄下的bin/catalina.sh文件下添加

JAVA_OPTS="-Xmx2048M -Xms1024M -XX:PermSize=512M -XX:MaxPermSize=512M"; 設置了初始堆大小為2014M,最大值為2048M。永久保存區域初始大小512M,最大允許分配尺寸512內存。
 

2 禁用DNS查詢:

Set to true if you want calls to request.getRemoteHost() to perform DNS lookups in order to return the actual host name of the remote client. Set to false to skip the DNS lookup and return the IP address in String form instead (thereby improving performance). By default, DNS lookups are enabled.

Server.xml中的Connector 節點中進行設置:修改server.xml文件中的enableLookups參數值為false

3 調整線程數

Server.xml中的Connector 節點中進行設置如下:

minProcessors 服務器啟動時創建的處理請求的線程數

maxProcessors 最大可以創建的處理請求的線程數

maxThreads:這個值表示Tomcat可創建的最大的線程數。 默認為200;If not specified, this attribute is set to 200。

acceptCount :指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理。The default value is 100

connnectionTimeout 網絡連接超時,單位:毫秒。設置為0表示永不超時,這樣設置有隱患的。通??稍O置為30000毫秒。

minSpareThreads Tomcat初始化時創建的線程數。 If not specified, the default of 10 is used.

maxSpareThreads 一旦創建的線程超過這個值,Tomcat就會關閉不再需要的socket線程。 (tomcat5以后已刪除)

<Connector port="80" maxThreads="150" minSpareThreads="25"  enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true"/>

總結:

  首先要爭取使得操作系統以及網絡資源達到最優,并且最好使用高版本的JDK。對于有大量靜態頁面的系統,采用Apache集成Tomcat的方式,把靜態頁面交由Apache處理,動態部分交由Tomcat處理,能極大解放Tomcat的處理能力。通過Apache和Tomcat負載提供穩定高并發的性能需求。同時需要對Tomcat自身進行優化,包括增大內存、調節并發線程數等。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 黄色小说校园春色 | 亚洲欧美综合另类 | 亚洲xxxxxx| 国内精品久久久久久久亚洲 | 欧美中日韩在线 | 日本一区二区三区不卡在线视频 | 看片亚洲| 久久亚洲精中文字幕冲田杏梨 | 欧美一区二区三区四区五区六区 | 一区二区三区四区亚洲 | 白浆都出来了视频国产精品 | 一区二区三区在线视频播放 | 日韩欧美国产另类 | 国产极品美乳尤物在线观看 | 搞av网 | 92精品国产自产在线观看 | 国产性老妇女做爰在线 | 校园亚洲春色另类小说合集 | 亚洲 欧美 日韩在线一区 | 免费看黄大全 | 最新欧美精品一区二区三区不卡 | 鸡毛片 | 国产一区 在线播放 | 性感美女视频免费网站午夜 | 春意午夜影院 | jizz中国18| www.操你| 欧美在线观看高清一二三区 | 日本做爰免费大片视频 | 亚洲天堂久久 | 一区二区三区免费看 | 亚洲图片欧美视频 | 免费播放成人生活片 | 日本在线一区二区 | 在线精品自拍 | 亚洲国产成人久久一区www | 中文字幕在线观看一区二区三区 | 国精品日韩欧美一区二区三区 | 国产一区二区三区免费看 | 亚洲网站在线看 | 亚洲宅男天堂a在线 |