小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Resin配置優(yōu)化

 sun lee 2012-08-04

Resin配置優(yōu)化

1.  Resin安裝及自啟動(dòng)設(shè)置

    創(chuàng)建開(kāi)機(jī)自動(dòng)啟動(dòng)

cp contrib/init.resin /etc/rc.d/init.d/resin

vi /etc/rc.d/init.d/resin

設(shè)置正確的路徑

JAVA_HOME=/usr/local/jdk1.6.0_13

RESIN_HOME=/usr/local/resin-3.1.8

 

賦予可執(zhí)行權(quán)限

chmod +x /etc/rc.d/init.d/resin

加為自啟動(dòng)服務(wù):

chkconfig --add resin

chkconfig --level 35 resin  on

service resin start

 

解決啟動(dòng)服務(wù)錯(cuò)誤: log_daemon_msg: command not found

將該函數(shù)調(diào)用到的地方注釋掉并用echo 來(lái)代替。如:

log_daemon_msg “resin start”

改為

echo “resin start”

修改好后可以用service resin start/stop/restart來(lái)執(zhí)行相關(guān)的命令。

 

2.  設(shè)置resin.conf參數(shù)及JVM設(shè)置

<jvm-arg>-Xmx4096m</jvm-arg>

<jvm-arg>-Xms4096m</jvm-arg>

<jvm-arg>-Xmn512M</jvm-arg>

<jvm-arg>-Xss50M</jvm-arg>

<jvm-arg>-XX:PermSize=768M</jvm-arg>

<jvm-arg>-XX:MaxPermSize=768M</jvm-arg>

<jvm-arg>-XX:SurvivorRatio=8</jvm-arg>

<jvm-arg>-XX:MaxTenuringThreshold=7</jvm-arg>

<jvm-arg>-XX:GCTimeRatio=19</jvm-arg>

<jvm-arg>-XX:+UseParNewGC</jvm-arg>

<jvm-arg>-XX:+UseConcMarkSweepGC</jvm-arg>

<jvm-arg>-XX:+CMSPermGenSweepingEnabled</jvm-arg>

<jvm-arg>-XX:+CMSClassUnloadingEnabled</jvm-arg>

<jvm-arg>-XX:+UseCMSCompactAtFullCollection</jvm-arg>

<jvm-arg>-XX:CMSFullGCsBeforeCompaction=2</jvm-arg>

<jvm-arg>-XX:-CMSParallelRemarkEnabled</jvm-arg>

<jvm-arg>-XX:+DisableExplicitGC</jvm-arg>

<jvm-arg>-XX:CMSInitiatingOccupancyFraction=70</jvm-arg>

<jvm-arg>-XX:SoftRefLRUPolicyMSPerMB=0</jvm-arg>

<jvm-arg>-XX:+PrintClassHistogram</jvm-arg>

<jvm-arg>-XX:+PrintGCDetails</jvm-arg>

<jvm-arg>-XX:+PrintGCTimeStamps</jvm-arg>                  <jvm-arg>-XX:+PrintGCApplicationConcurrentTime</jvm-arg>

<jvm-arg>-XX:+PrintGCApplicationStoppedTime</jvm-arg>

<jvm-arg>-Xloggc:log/gc.log</jvm-arg>

<jvm-arg>-Xdebug</jvm-arg>

<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>

   內(nèi)存設(shè)置配置:

<memory-free-min>5M</memory-free-min>

最大線程數(shù)

<!-- Maximum number of threads. -->

<thread-max>1024</thread-max>

 

<!-- Configures the socket timeout -->

<socket-timeout>65s</socket-timeout>

配置最活連接和超時(shí)時(shí)間

<!-- Configures the keepalive -->

   <keepalive-max>2048</keepalive-max>

   keepalive-timeout>15s</keepalive-timeout>

3.  配置jconsole監(jiān)控JVM

$JAVA_HOME/jre/lib/management/jmxremote.password.template的文件是遠(yuǎn)程連接時(shí)的設(shè)置用戶和密碼的文件,
cp $JAVA_HOME/jre/lib/management/jmxremote.password.template $JAVA_HOME/jconsole/jmxremote.password
chmod 600 $JAVA_HOME/jconsole/jmxremote.password
vi jmxremote.password
去掉#monitorRole RED前的注釋并將RED修改為你要設(shè)置的密碼。在resin.conf加入以下配置,其中被監(jiān)控主機(jī)的IP需要和主機(jī)IP一致

   <jvm-arg>-Dcom.sun.management.jmxremote.port=12345</jvm-arg>

   <jvm-arg>-Dcom.sun.management.jmxremote.ssl=false</jvm-arg>

<jvm-arg>-Dcom.sun.management.jmxremote.access.file=/usr/local/jdk1.6.0_13/jre/lib/management/jmxremote.access</jvm-arg>      <jvm-arg>-Dcom.sun.management.jmxremote.password.file=/usr/local/jdk1.6.0_13/jre/lib/management/jmxremote.password</jvm-arg> 

   <jvm-arg>-Dcom.sun.management.jmxremote.authenticate=true</jvm-arg>

   <jvm-arg>-Djava.rmi.server.hostname=192.168.100.9</jvm-arg>

 

 在客戶端基本不用怎么設(shè)置,在 JDK 安裝目錄中(<JDK_HOME>/bin/jconsole.exe)啟動(dòng) jconsole.exe 就可以打開(kāi)主界面。輸入192.168.100.912345 用戶名和密碼即可看到監(jiān)控界面中關(guān)于jvm的相關(guān)信息。操作

雙擊jconsole.exe啟動(dòng)連接對(duì)話框

 

4.  配置Resin后臺(tái)管理

  <management path="${resin.root}/admin">

    <user name="admin" password="MnHpobDOvrMOyQFWoa5w7A=="/>

    <resin:if test="${resin.professional}">

      <deploy-service/>

      <jmx-service/>

      <log-service/>

      <xa-log-service/>

    </resin:if>

  </management>

 

<web-app id="/resin-admin" root-directory="${resin.home}/php/admin">

        <!--

           - Administration application /resin-admin-->

        <prologue>

        <resin:set var="resin_admin_user" value="admin"/> 

        <resin:set var="resin_admin_password" value="password"/> 

        <resin:set var="resin_admin_external" value="true"/> 

        <resin:set var="resin_admin_insecure" value="true"/>

        </prologue>

</web-app>

二.     網(wǎng)絡(luò)優(yōu)化部分

1. 減少TCP連接中的TIME-WAIT CLOSE-WAIT

Vim /etc/sysctl.conf加入以下配置

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

 

net.ipv4.tcp_fin_timeout = 15

net.ipv4.tcp_keepalive_time = 1200

net.ipv4.tcp_keepalive_probes = 5

net.ipv4.tcp_keepalive_intvl = 15

 

配置屬性說(shuō)明:
  net.ipv4.tcp_syncookies = 1 表示開(kāi)啟SYN Cookies。當(dāng)出現(xiàn)SYN等待隊(duì)列溢出時(shí),啟用cookies來(lái)處理,可防范少量SYN攻擊,默認(rèn)為0,表示關(guān)閉;
  net.ipv4.tcp_tw_reuse = 1 表示開(kāi)啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認(rèn)為0,表示關(guān)閉;
  net.ipv4.tcp_tw_recycle = 1 表示開(kāi)啟TCP連接中TIME-WAIT sockets的快速回收,默認(rèn)為0,表示關(guān)閉。

tcp_syn_retries INTEGER
默認(rèn)值是
5
對(duì)于一個(gè)新建連接,內(nèi)核要發(fā)送多少個(gè) SYN 連接請(qǐng)求才決定放棄。不應(yīng)該大于255,默認(rèn)值是5,對(duì)應(yīng)于180秒左右時(shí)間。(對(duì)于大負(fù)載而物理通信良好的網(wǎng)絡(luò)而言,這個(gè)值偏高,可修改為2.這個(gè)值僅僅是針對(duì)對(duì)外的連接,對(duì)進(jìn)來(lái)的連接,是由tcp_retries1 決定的
)

tcp_synack_retries
INTEGER
默認(rèn)值是
5
對(duì)于遠(yuǎn)端的連接請(qǐng)求SYN,內(nèi)核會(huì)發(fā)送SYN ACK數(shù)據(jù)報(bào),以確認(rèn)收到上一個(gè) SYN連接請(qǐng)求包。這是所謂的三次握手( threeway handshake)機(jī)制的第二個(gè)步驟。這里決定內(nèi)核在放棄連接之前所送出的 SYN+ACK 數(shù)目。不應(yīng)該大于255,默認(rèn)值是5,對(duì)應(yīng)于180秒左右時(shí)間。(可以根據(jù)上面的 tcp_syn_retries 來(lái)決定這個(gè)值
)

tcp_keepalive_time
INTEGER
默認(rèn)值是7200(2小時(shí)
)
當(dāng)keepalive打開(kāi)的情況下,TCP發(fā)送keepalive消息的頻率。(由于目前網(wǎng)絡(luò)攻擊等因素,造成了利用這個(gè)進(jìn)行的攻擊很頻繁,曾經(jīng)也有cu的朋友提到過(guò),說(shuō)如果2邊建立了連接,然后不發(fā)送任何數(shù)據(jù)或者rst/fin消息,那么持續(xù)的時(shí)間是不是就是2小時(shí),空連接攻擊? tcp_keepalive_time就是預(yù)防此情形的.我個(gè)人在做nat服務(wù)的時(shí)候的修改值為1800
)

tcp_keepalive_probes
INTEGER
默認(rèn)值是
9
TCP
發(fā)送keepalive探測(cè)以確定該連接已經(jīng)斷開(kāi)的次數(shù)。(注意:保持連接僅在SO_KEEPALIVE套接字選項(xiàng)被打開(kāi)是才發(fā)送.次數(shù)默認(rèn)不需要修改,當(dāng)然根據(jù)情形也可以適當(dāng)?shù)乜s短此值.設(shè)置為5比較合適)

 

tcp_keepalive_intvlINTEGER
默認(rèn)值為
75
探測(cè)消息發(fā)送的頻率,乘以tcp_keepalive_probes就得到對(duì)于從開(kāi)始探測(cè)以來(lái)沒(méi)有響應(yīng)的連接殺除的時(shí)間。默認(rèn)值為75秒,也就是沒(méi)有活動(dòng)的連接將在大約11分鐘以后將被丟棄。(對(duì)于普通應(yīng)用來(lái)說(shuō),這個(gè)值有一些偏大,可以根據(jù)需要改小.特別是web類服務(wù)器需要改小該值,15是個(gè)比較合適的值)


再執(zhí)行以下命令,讓修改結(jié)果立即生效:/sbin/sysctl -p
用以下語(yǔ)句看了一下服務(wù)器的TCP狀態(tài):

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

 

三.     解決Too many open files問(wèn)題

Too many open files 問(wèn)題出現(xiàn)有兩種情況:
一種是在搜索的時(shí)候出現(xiàn),多半是由于索引創(chuàng)建完畢之后被移動(dòng)過(guò),如果創(chuàng)建索引的時(shí)候不出現(xiàn)該錯(cuò)誤,搜索的時(shí)候也一般是不會(huì)出現(xiàn)的。如果出現(xiàn)了,有兩種處理辦法,一種是修改合并因子和最小合并因子,并且使用
IndexWriter.Optimize() 
優(yōu)化索引,這樣會(huì)將索引文件數(shù)量減少到文件系統(tǒng)限制之內(nèi);另外一種辦法是修改操作系統(tǒng)的打開(kāi)文件數(shù)量限制。方法如下:
 
按照最大打開(kāi)文件數(shù)量的需求設(shè)置系統(tǒng), 并且通過(guò)檢查/proc/sys/fs/file-max文件來(lái)確認(rèn)最大打開(kāi)文件數(shù)已經(jīng)被正確設(shè)置。 配置操作如下:
# cat /proc/sys/fs/file-max
如果設(shè)置值太小, 修改文件/etc/sysctl.conf的變量到合適的值。 這樣會(huì)在每次重啟之后生效。 
# echo 65535 > /proc/sys/fs/file-max
編輯文件/etc/sysctl.conf,插入下行。
 
fs.file-max = 65535 

執(zhí)行sysctl –p生效

設(shè)置ulimit –n 65535 
 
/etc/security/limits.conf文件中設(shè)置最大打開(kāi)文件數(shù), 下面是一行提示:
 

添加如下這行。
 
* - nofile 65535

這行設(shè)置了每個(gè)用戶的默認(rèn)打開(kāi)文件數(shù)為2048。 注意"nofile"項(xiàng)有兩個(gè)可能的限制措施。就是項(xiàng)下的hardsoft 要使修改過(guò)得最大打開(kāi)文件數(shù)生效,必須對(duì)這兩種限制進(jìn)行設(shè)定。 如果使用"-"字符設(shè)定hardsoft設(shè)定會(huì)同時(shí)被設(shè)定。 
硬限制表明soft限制中所能設(shè)定的最大值。 soft限制指的是當(dāng)前系統(tǒng)生效的設(shè)置值。 hard限制值可以被普通用戶降低。但是不能增加。 soft限制不能設(shè)置的比hard限制更高。 只有root用戶才能夠增加hard限制值。
 
當(dāng)增加文件限制描述,可以簡(jiǎn)單的把當(dāng)前值雙倍。 例子如下, 如果你要提高默認(rèn)值1024 最好提高到2048, 如果還要繼續(xù)增加, 就需要設(shè)置成4096。
 
另外一種情況是在創(chuàng)建索引的時(shí)候,也有兩種可能,一種是合并因子太小,導(dǎo)致創(chuàng)建文件數(shù)量超過(guò)操作系統(tǒng)限制,這時(shí)可以修改合并因子,也可以修改操作系統(tǒng)的打開(kāi)文件數(shù)限制;另外一種是合并因子受虛擬機(jī)內(nèi)存的限制,無(wú)法調(diào)整到更大,而 需要索引的doc 數(shù)量又非常的大,這個(gè)時(shí)候就只能通過(guò)修改操作系統(tǒng)的打開(kāi)文件數(shù)限制來(lái)解決了。
 

在系統(tǒng)訪問(wèn)高峰時(shí)間以root用戶執(zhí)行以下的腳本,可能出現(xiàn)的結(jié)果如下:

# lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more    

    131 24204  

     57 24244  

其中第一行是打開(kāi)的文件句柄數(shù)量,第二行是進(jìn)程號(hào)。得到進(jìn)程號(hào)后,我們可以通過(guò)ps命令得到進(jìn)程的詳細(xì)內(nèi)容。

ps -aef|grep 24204  

mysql    24204 24162 99 16:15 ?        00:24:25 /usr/sbin/mysqld  

系統(tǒng)默認(rèn)程打開(kāi)最多文件句柄數(shù)值1024。但是如果系統(tǒng)并發(fā)特別大,尤其是squid服務(wù)器,很有可能會(huì)超過(guò)1024。這時(shí)候就必須要調(diào)整系統(tǒng)參數(shù),以適應(yīng)應(yīng)用變化。Linux有硬性限制和軟性限制??梢酝ㄟ^(guò)ulimit來(lái)設(shè)定這兩個(gè)參數(shù)。方法如下,以root用戶運(yùn)行以下命令:

ulimit -HSn 4096  以上命令中,H指定了硬性大小,S指定了軟性大小,n表示設(shè)定單個(gè)進(jìn)程最大的打開(kāi)文件句柄數(shù)量。設(shè)定句柄數(shù)量后,系統(tǒng)重啟后,又會(huì)恢復(fù)默認(rèn)值。如果想永久保存下來(lái), /etc/security/limits.conf

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(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)論公約

    類似文章 更多