<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    鷹翔宇空

    學(xué)習(xí)和生活

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks
    weblogic?Server內(nèi)部結(jié)構(gòu)圖:
    按此在新窗口打開圖片
    (一)??原理簡單說明

    服務(wù)器啟動,就會綁定到相應(yīng)的端口,并為一個端口分配一個線程以接受連接請求,一旦服務(wù)器接受到連接請求并建立好連接以后,監(jiān)聽線程將處理權(quán)交給套接字復(fù)用器,套接字復(fù)用器進行一定的處理,并會負(fù)責(zé)選擇利用那個執(zhí)行隊列并將請求置入其中。當(dāng)有一個請求進入執(zhí)行隊列,就會有一個空閑的執(zhí)行縣城從該隊列里面取走并向調(diào)用者返回結(jié)果。

    (二)??執(zhí)行隊列和執(zhí)行線程的相關(guān)配置

    執(zhí)行線程數(shù)量有一定的限制,在服務(wù)器啟動的時候,就已經(jīng)形成了一個含有一定數(shù)量執(zhí)行線程的池,執(zhí)行線程可能跨servlet,ejb和jdbc等,由于執(zhí)行線程僅當(dāng)程序成功結(jié)束或者出現(xiàn)異常才能被釋放繼續(xù)處理其他請求,所以如果執(zhí)行線程執(zhí)行的不夠快,而請求又多的情況下,就會造成執(zhí)行隊列的阻塞。

    相關(guān)的配置信息有:

    server菜單—〉configuration頁---〉高級配置---〉Config?Execute?Queues中的配置項如下:

    1、Queue?Length隊列長度,執(zhí)行隊列的長度

    2、Queue?Length?Threshold?Percent?一個百分?jǐn)?shù),當(dāng)request的數(shù)量達到隊列長度的這個比例的時候,weblogic會發(fā)出overflow的標(biāo)志信息。

    3、Thread?Count?服務(wù)器初始創(chuàng)建的執(zhí)行線程的數(shù)量

    4、Thread?Increase?如果weblogic發(fā)出overflow的標(biāo)志信息,weblogic會嘗試增加這個數(shù)量的執(zhí)行線程,以解決處理矛盾。

    5、Threads?Maximum最大執(zhí)行線程數(shù)

    6、Threads?Minimum最小執(zhí)行線程數(shù)

    7、Thread?Priority線程優(yōu)先級

    另外server菜單—〉configuration頁---〉tuning子頁中還有一些相關(guān)的配置:

    1、??Stuck?Thread?Max?Time?黏聯(lián)線程時間,超過這個時間沒有返回的執(zhí)行線程,系統(tǒng)將認(rèn)為是黏聯(lián)線程。

    2、??Stuck?Thread?Timer?Interval?系統(tǒng)檢查黏聯(lián)線程的時間間隔

    如果weblogic認(rèn)為某個隊列中的所有的線程全部黏聯(lián)的話,weblogic將會增加執(zhí)行線程的數(shù)量。

    注意:執(zhí)行線程的數(shù)量一旦增加,目前weblogic不會去減少他,如果增加了一些線程以后再次出現(xiàn)overflow的警告,weblogic會繼續(xù)增加執(zhí)行線程的數(shù)量,一直到達到上限為止。

    (三)??套接字復(fù)用器的相關(guān)配置

    Weblogic帶有兩個版本的套接字復(fù)用器,純java版和本地接口版(jni),一般來說在訪問量小的情況下,java版比jni版性能要好一些,因為jni的API調(diào)用會損失一部分性能,但是訪問量大的情況,一般都是jni版的性能比較好,所以盡量保證weblogic實用本地接口版的套接字復(fù)用器。

    相關(guān)的配置參數(shù)有兩個,在server菜單—〉configuration頁---〉tuning子頁中的第一個和第二個配置項。

    Enable?Native?IO?:啟用本地IO,勾選這個配置以后,weblogic就會啟用本地接口版的套接字復(fù)用器

    Socket?Readers?:如果不選上一個選項,則這個選項可用,也就是說java版的套接字復(fù)用器會被啟用,并且,java版的復(fù)用器會從執(zhí)行線程中抽出這個比例的線程用于處理socket的請求。(和java客戶端訪問有關(guān)?)

    web應(yīng)用程序的相關(guān)配置


    1、單線程模式servlet

    默認(rèn)情況下,一個servlet實例將會產(chǎn)生多個線程來同時響應(yīng)多個請求。

    如果某個servlet實現(xiàn)SingleThreadMod旗標(biāo)接口,那么這個servlet將會自動拒絕多路并行請求的模式。在這種情況下,weblogic會產(chǎn)生一個servlet實例池來滿足單線程的要求。

    目前,應(yīng)該盡量避免使用單線程模式的servlet,如果需要在大容量的系統(tǒng)中使用單線程模式的servlet,那么應(yīng)該調(diào)整如下的參數(shù):

    Single?Threaded?Servlet?Pool?Size?這個參數(shù)可在weblogic.xml或者在weblogic控制臺上webapplication菜單---〉configuration頁---〉Descriptor??子頁中進行設(shè)置。

    默認(rèn)為5。

    2、Weblogic生產(chǎn)模式下會自動監(jiān)測servlet和jsp的更改情況,在產(chǎn)品模式下,不需要這些檢查,可以通過下面的參數(shù)更改:

    JSPPage?Check?Secs和Servlet?Reload?Check?Secs均設(shè)為-1這兩項是weblogic檢查jsp和servlet的時間間隔。設(shè)置為-1,weblogic將不再檢查。

    關(guān)閉JSPKeep?Generated和JSPVerbose,產(chǎn)品模式下也不需要這兩個選項。

    Enable?JSP?Line?Numbers?這個選項是啟用jsp行號的選項,啟用行號的目的是用來支持調(diào)試,有些IDE可以在jsp生成的java源代碼中設(shè)置斷點用于調(diào)試。生產(chǎn)模式中也不需要。

    注意:在產(chǎn)品發(fā)布模式下,請禁止對servlet和jsp的變更檢查,這樣除了能提高效率以外,還可以防止用上傳文件的方式對服務(wù)器的攻擊。如果需要更改servlet和jsp,可以重新部署應(yīng)用。

    3、Session和cookie的相關(guān)配置

    概念會話cookie:如果不設(shè)置過期時間,則表示這個cookie的生命期為瀏覽器會話期間,只要關(guān)閉瀏覽器窗口,cookie就消失了。這種生命期為瀏覽器會話期的?cookie被稱為會話cookie。

    Session?Cookie?Max?Age?Secs?就是會話cookie的超時時間,設(shè)置小于0表示不限制。

    Session?Invalidation?Interval?Secs?檢查過期session的周期

    Session?Timeout?Secs?session的超時時間

    4、Jdbc連接池的配置

    URL?連接池地址

    Driver?Classname?:jdbc驅(qū)動類名

    Properties?:屬性,例如user=examples

    Password?:密碼

    Initial?Capacity?:初始連接數(shù)

    Maximum?Capacity?:最大連接數(shù)

    Capacity?Increment?:連接池每次增加連接的數(shù)量

    ?

    Statement?Cache?Type?:prepared?statements緩存的策略,LRU算法在有新的語句到來時,將最不經(jīng)常被用得語句調(diào)整出緩存。FIXED算法為先進先出的算法
    Statement?Cache?Size?:緩存中語句的最大數(shù)量,調(diào)整這個數(shù)值的大小,有利于提高系統(tǒng)的效率。?

    java虛擬機配置

    JRockit是BEA公司開發(fā)的Intel平臺之上的高性能以及高可管理性的jvm產(chǎn)品,在Intel平臺上使用JRockit無疑會大大的提高效率。使用向?qū)Ыerver的配置的時候,可以選擇JRockit作為該server的虛擬機,另外,也可以在域的startWebLogic.cmd或者startWebLogic.sh腳本中配置使用JRockit。

    ?

    使用JRockit:

    set?JAVA_VENDOR=BEA

    set?JAVA_HOME=c:\bea\jrockit81sp4_142_05

    使用Sun的jvm:

    set?JAVA_VENDOR=Sun

    set?JAVA_HOME=c:\bea\jdk142_05

    ?

    u???????與java虛擬機相關(guān)的參數(shù)配置可在startWebLogic.cmd或者startWebLogic.sh腳本中設(shè)置,在其執(zhí)行java命令之前一行加入如下指令:

    set?JAVA_VM=%JAVA_VM%?“這里加入虛擬機參數(shù)”

    JRockit上的一些參數(shù)解釋如下:

    選項
    ????

    描述

    -X
    ????

    顯示擴展Java選項

    -Xallotype

    -Xallocationtype
    ????

    可取值global和local,定義使用本地線程還是全局線程。

    global,在最大堆尺寸比較小時(小于128M)或者應(yīng)用程序大量使用了線程時使用。
    local,在最大堆尺寸比較大時(大于128M)或者應(yīng)用程序少量使用了線程時使用。

    每個本地線程區(qū)都要消耗大約2K的內(nèi)存,如果大量地使用了線程,本地線程不但會造成內(nèi)存空間浪費,而且還會造成堆碎片。使用全局線程機制會減少堆碎片,但在內(nèi)存分配方面速度要慢一些。

    -Xbootclasspath
    ????

    指定類搜索路徑,可以是ZIP和JAR文件,以;或:分隔

    -Xcleartype
    ????

    定義內(nèi)存清理時機,可取值gc,?local,?alloc。gc表示在垃圾回收時清理內(nèi)存;local表示時分配一塊local線程區(qū)時清理;alloc表示內(nèi)存區(qū)要被分配給其它對象時清理

    -Xgc
    ????

    選擇要使用的垃圾回收器的類型,可取值:

    gencopy:分代復(fù)制收集(默認(rèn))適合調(diào)試期間使用

    singlecon:單空間并發(fā),無中斷并發(fā)

    gencon:世代并發(fā),暫停時間最短

    parallel:parallel并行回收器,會導(dǎo)致應(yīng)用程序間歇暫停,但會帶來最大吞吐量。

    如果-Xmx小于128M,缺省使用gencopy,否則使用gencon

    -Xgcpause
    ????

    打印由垃圾回收器造成的停頓時間

    -Xgcreport
    ????

    打印垃圾回收報表

    -Xjvmpi
    ????

    是否允許JVMPI事件,這些事件有:

    entryexit(缺省ON)

    allocs(缺省ON)

    monitors(缺省ON)

    arenasdelete(缺省OFF)

    例如:-Xjvmpi:allocs=off,monitors=off,entryexit=off

    -Xmanagement
    ????

    激活JVM中的管理服務(wù)器,在JVM的管理控制臺能連接到它之前,必須先激活。

    -Xms
    ????

    設(shè)置初始堆大小,單位有K、M、G

    -Xmx
    ????

    設(shè)置最大堆大小,單位有K、M、G

    建議:應(yīng)設(shè)置-Xms=-Xmx以免去分配堆的時間

    -Xnativethreads
    ????

    使用本地線程系統(tǒng),這是缺省選項

    -Xnoclassgc
    ????

    禁止對類作垃圾回收

    -Xnohup
    ????

    告訴JRockit,忽略CTRL_LOGOFF_EVENT和SIGHUP事件

    -Xns
    ????

    設(shè)置nursery尺寸,單位有K、M、G

    Nursery是垃圾回收器用來存放臨時對象的地方,應(yīng)該在保證垃圾回收暫停時間最短的情況下,盡量大的調(diào)整nursery的值。

    對于-Xgc:gencopy,缺省的Nursery大小為320KB/CPU,對于10個CPU的系統(tǒng)來說,Nursery大小為3200KB(3.2M)對于-Xgc:gencon,缺省的Nursery大小為10M/CPU,對于10個CPU的系統(tǒng)來說,Nursery大小為100M

    -Xss
    ????

    設(shè)置線程棧尺寸,單位有K、M、G

    -Xthinthreads
    ????

    使用JRockit的高性能線程系統(tǒng),在IA64上不可用。

    注意:瘦線程系統(tǒng)目前還沒有全面推廣,不建議使用

    -Xverbose
    ????

    讓JRockit打印更多的信息,可選的參數(shù)有:

    codegen、cpuinfo、gc、load、memory、Opt

    -Xverify
    ????

    作完整的bytecode一級的校驗

    ?

    u???????JRockit的管理控制臺的使用

    在JRockit的啟動參數(shù)中加入-Xmanagement,以便啟動JRockit的時候同時啟動其Management?Server。

    在JRockit的bin目錄下,運行console.exe程序

    建立一個新的連接,連接需要監(jiān)視的JRockit(監(jiān)視端口默認(rèn)為7090)

    在JRockit?Management?Console中,將Tools/Preferences菜單中的Mode?of?operation屬性設(shè)為developer

    在Method?Profiler屬性頁中添加你所需要觀察的類的成員方法
    按Start按鈕讓Method?Profiler開始進行統(tǒng)計

    原文地址:http://www.tkk7.com/lqsun
    posted on 2006-07-31 10:54 TrampEagle 閱讀(767) 評論(0)  編輯  收藏 所屬分類: web
    主站蜘蛛池模板: 国产成人精品日本亚洲专区61 | 免费大黄网站在线看| 日韩成人免费aa在线看| 亚洲乱人伦精品图片| 无人在线直播免费观看| 亚洲人成在久久综合网站| 91成人免费观看网站| 激情综合亚洲色婷婷五月| 最近2019中文字幕免费看最新 | 亚洲Av永久无码精品三区在线| 亚洲国产日韩在线一区| 亚洲天堂免费在线| 亚洲无人区码一二三码区别图片 | 四虎免费永久在线播放| 亚洲视频免费观看| 日本亚洲免费无线码| 亚洲另类无码专区丝袜| 免费看国产精品麻豆| 国产免费内射又粗又爽密桃视频 | 五月亭亭免费高清在线| 亚洲国产成人超福利久久精品| 免费无码精品黄AV电影| 国产偷国产偷亚洲高清人| 国产亚洲AV无码AV男人的天堂 | 免费av一区二区三区| 亚洲一区电影在线观看| 四虎永久精品免费观看| 最近更新免费中文字幕大全| 亚洲高清无在码在线电影不卡| 成年在线网站免费观看无广告 | 香港经典a毛片免费观看看| 久久久久亚洲精品男人的天堂| 无人在线观看免费高清| 亚洲热妇无码AV在线播放| 99久久99久久精品免费观看| 亚洲精品理论电影在线观看| 4399好看日本在线电影免费| 处破女第一次亚洲18分钟| 亚洲成A∨人片在线观看不卡| 毛片基地免费观看| 狠狠躁狠狠爱免费视频无码|