亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
打印 上一主題 下一主題

[WebLogic] 中間件WebLogic/Tuxedo/GoldenGate的排錯(cuò)與優(yōu)化(獲獎(jiǎng)名單已公布) [復(fù)制鏈接]

論壇徽章:
0
71 [報(bào)告]
發(fā)表于 2012-02-20 21:38 |只看該作者
回復(fù) 70# huanglao2002

謝謝您一直的熱心支持和幫助,有想法也很有見(jiàn)地

   

論壇徽章:
1
CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:34
72 [報(bào)告]
發(fā)表于 2012-02-21 09:27 |只看該作者
居然回復(fù)了我的帖子,我好感動(dòng)餓,真的。不過(guò)weblogic只會(huì)前臺(tái)使用了,具體后面的東東太深?yuàn)W了,弄不懂。

論壇徽章:
0
73 [報(bào)告]
發(fā)表于 2012-02-23 09:26 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽

論壇徽章:
0
74 [報(bào)告]
發(fā)表于 2012-02-26 23:01 |只看該作者
本帖最后由 三人行必有吾師 于 2012-02-27 08:01 編輯

其實(shí),這里的討論,已經(jīng)很多都涉及到書(shū)的內(nèi)容了;另外,還想起一句長(zhǎng)輩常常叮囑的古話:“書(shū)是死的,人是活的”

比如,樓上有同仁提到JDBC調(diào)優(yōu)時(shí)比較共性的一個(gè)做法
“2.3 JDBC調(diào)優(yōu)
增加Statement Cache Size對(duì)于大量使用PreparedStatement對(duì)象的應(yīng)用程序很有幫助,WebLogic能夠?yàn)槊恳粋(gè)連接緩存這些對(duì)象,此值默認(rèn)為10。在保證數(shù)據(jù)庫(kù)游標(biāo)大小足夠的前提下,可以根據(jù)需要提高Statement Cache Size ”


大多數(shù)情況下是OK的,但在一些特殊情況下,反而恰恰是要關(guān)閉WebLogic控制臺(tái)上的Statement Cache,比如使用Informix驅(qū)動(dòng)時(shí):

Informix Limitation for Prepared Statements
If anything causes a change to a database table or procedure, such as adding an index, or recompiling the procedure, all existing JDBC PreparedStatements that access it must be re-prepared before they can be used again. This is a limitation of the Informix database management system. WebLogic Server caches, retains, and reuses application PreparedStatements along with pooled connections, so if your application uses prepared statements that access tables or procedures that are dropped and recreated or for which the definition is changed, re-execution of a cached prepared statement will fail once. WebLogic Server will then remove the defunct prepared statement from the cache and replace it when the application asks for the statement again.

To avoid any PreparedStatement failure due to table or procedure changes in the DBMS while WebLogic Server is running, set the Statement Cache Size to 0. WebLogic will make a new PreparedStatement for each request. However, with the statement cache disabled, you will lose the performance benefit of statement caching.


這個(gè)時(shí)候,可以在連接參數(shù)里,開(kāi)啟Informix驅(qū)動(dòng)自身的Cache,比如:
  1. i)    InsensitiveResultSetBufferSiz=20480
  2. ii)   MaxPooledStatements=50
復(fù)制代碼

論壇徽章:
0
75 [報(bào)告]
發(fā)表于 2012-02-26 23:23 |只看該作者
本帖最后由 三人行必有吾師 于 2012-02-26 23:42 編輯

在J2EE平臺(tái)通過(guò)JDBC連接Informix數(shù)據(jù)庫(kù)時(shí),如果故事能就此結(jié)束,就好了。但大多數(shù)情況下,調(diào)優(yōu)是個(gè)多級(jí)瀑布模型;就是調(diào)完一輪后,窄的地方疏通了,然后又發(fā)現(xiàn)新的瓶頸,如此循環(huán)往復(fù)多次,才能最終達(dá)到一個(gè)相對(duì)平衡的調(diào)優(yōu)效果。

繼續(xù)上面的例子,在實(shí)際情況中,在Linux環(huán)境下,即使調(diào)整了Statement Cache,亦然常常容易發(fā)現(xiàn)壓力大的情況下,系統(tǒng)出現(xiàn)大量堆積的Thread Dump,基本都是:
  1. "[ACTIVE] ExecuteThread: '82' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE
  2.     java.lang.Thread.setPriority0(Native Method)
  3.     java.lang.Thread.setPriority(Thread.java:971)
  4.     java.lang.Thread.init(Thread.java:334)
  5.     java.lang.Thread.<init>(Thread.java:356)
  6.     java.util.TimerThread.<init>(Timer.java:456)
  7.     java.util.Timer.<init>(Timer.java:71)
  8.     java.util.Timer.<init>(Timer.java:122)
  9.     com.informix.jdbc.IfxCancelQueryImpl.startCancel(IfxCancelQueryImpl.java:45)
  10.     com.informix.jdbc.IfxStatement.executeQueryImpl(IfxStatement.java:1200)
  11.     com.informix.jdbc.IfxPreparedStatement.executeQuery(IfxPreparedStatement.java:369)
  12.     weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:100)
  13.     com.p6spy.engine.logging.P6LogPreparedStatement.executeQuery(P6LogPreparedStatement.java:172)
  14.     org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
  15.     org.hibernate.loader.Loader.getResultSet(Loader.java:1668)
  16.     org.hibernate.loader.Loader.doQuery(Loader.java:662)
  17.     ... ...
復(fù)制代碼
可見(jiàn):
i)   針對(duì)PreparedStatement,Informix驅(qū)動(dòng)中用到了大量的JDK自帶的Timer
ii)  而JDK每個(gè)Timer都會(huì)啟動(dòng)一個(gè)TimerThread,即線程級(jí)別的開(kāi)銷(xiāo),并映射成操作系統(tǒng)本地線程,而且是短命線程,不停的創(chuàng)建和消亡;
(題外話:其實(shí),Weblogic就因?yàn)槠湫实拖,重?xiě)了自己的該部分代碼,有自己的Timer類(lèi))。

但I(xiàn)nformix驅(qū)動(dòng)是數(shù)據(jù)庫(kù)方提供的,已經(jīng)寫(xiě)好了;咱們總不能用Jad反編譯后,自己再出個(gè)優(yōu)化版的驅(qū)動(dòng)吧?咱們敢改,客戶(hù)還不敢用呢。。。

只好再看這個(gè)堆棧,最頂端是
  1.     java.lang.Thread.setPriority0(Native Method)
  2.     java.lang.Thread.setPriority(Thread.java:971)
復(fù)制代碼
這種帶...0的方法,基本都是通過(guò)JNI調(diào)入了C語(yǔ)言的本地庫(kù),從旁邊的(Native Method)也能驗(yàn)證;其實(shí)在JVM的線程實(shí)現(xiàn)中,最簡(jiǎn)單的就是將其映射到操作系統(tǒng)自己的線程,可以有1X1的(一對(duì)一),也可以有MXN的(多對(duì)多)。而在Linux內(nèi)核從Kernel 2.4變?yōu)?.6后,超線程技術(shù)為了優(yōu)化CPU時(shí)間片Time_Slice,對(duì)于線程的創(chuàng)建和優(yōu)先級(jí)設(shè)定,卻恰恰都有很?chē)?yán)重的系統(tǒng)開(kāi)銷(xiāo)用于線程矩陣池實(shí)時(shí)維護(hù)。

但Linux內(nèi)核也是專(zhuān)門(mén)的開(kāi)源協(xié)議維護(hù)的,不能為了這個(gè),咱們自己出一套Linux內(nèi)核源碼,重新做一套改進(jìn)版吧?還是那句話:咱們敢改,客戶(hù)還不敢用呢。。。

只好去讀JVM實(shí)現(xiàn)的C語(yǔ)言源代碼,在上萬(wàn)行的C語(yǔ)言源程序中,可以找到關(guān)于設(shè)置優(yōu)先級(jí)的一些部分,其中有一段:
  1. 2997 OSReturn os::set_native_priority(Thread* thread, int newpri) {
  2. 2998   if ( !UseThreadPriorities || ThreadPriorityPolicy == 0 ) return OS_OK;
  3. 2999
  4. 3000   int ret = setpriority(PRIO_PROCESS, thread->osthread()->thread_id(), newpri);
  5. 3001   return (ret == 0) ? OS_OK : OS_ERR;
  6. 3002 }
復(fù)制代碼
可見(jiàn),其中有個(gè)“快捷”跳出,就是第二行if...return OS_OK那個(gè),再找UseThreadPriorities,發(fā)現(xiàn)可以通過(guò)JVM啟動(dòng)項(xiàng)添加-XX:-UseThreadPriorities來(lái)設(shè)定。。。

于是,這個(gè)Informix驅(qū)動(dòng)本身實(shí)現(xiàn)的性能缺陷,卻恰恰通過(guò)了JVM的啟動(dòng)參數(shù)設(shè)置來(lái)規(guī)避。。。

這個(gè)例子,即是印證了前輩們那句話:“書(shū)是死的,人是活的”

論壇徽章:
0
76 [報(bào)告]
發(fā)表于 2012-02-27 09:10 |只看該作者
書(shū)剛剛買(mǎi)到手,大致瀏覽了一下,感覺(jué)還不錯(cuò)

論壇徽章:
0
77 [報(bào)告]
發(fā)表于 2012-02-27 10:54 |只看該作者
回復(fù) 61# 成皿田心

你好!看到老師的回復(fù),非常感謝!
小弟愚鈍,看到您在第三點(diǎn)寫(xiě)道:“用f5直接替代之前提到過(guò)的proxy的角色,而且效果更好(畢竟是專(zhuān)業(yè)的負(fù)載均衡器),只要在f5配置中納入集群的各個(gè)節(jié)點(diǎn)就ok了”。
老師您有稍微詳細(xì)一點(diǎn)步驟嗎?
因?yàn)槲覀冊(cè)谧鰧?shí)施的時(shí)候,F(xiàn)5廠家的人說(shuō),他們實(shí)施的WEBLOGIC+F5實(shí)現(xiàn)的負(fù)載均衡都是分別在兩個(gè)節(jié)點(diǎn),建立兩個(gè)DOMAIN,再通過(guò)F5虛擬地址實(shí)現(xiàn)負(fù)載均衡。
當(dāng)時(shí)我就表示了異議,但是也苦于找不到對(duì)策。我本人對(duì)F5知之不多。
我也查詢(xún)了ORACLE官方網(wǎng)站,WEBLOGIC+F5能完美契合的。

非常感謝您的指教!多謝!
這是我的郵箱:yszw0817@126.com


   

論壇徽章:
0
78 [報(bào)告]
發(fā)表于 2012-02-27 13:13 |只看該作者
回復(fù) 77# yszw0817


您好,此問(wèn)題中f5只是做了一個(gè)代理分發(fā)的角色。

后端的服務(wù)器如果是weblogic集群,完全沒(méi)有必要建立兩個(gè)域(當(dāng)然weblogic規(guī)定集群不能跨域。。,從config.xml看cluster標(biāo)簽隸屬域domain之下),這個(gè)代理只跟后端的每個(gè)節(jié)點(diǎn)相關(guān),跟domain無(wú)關(guān)。

有關(guān)的weblogic+f5的實(shí)施方案之類(lèi),我下班之后幫忙找找,有的話發(fā)到你郵箱。。。

   

論壇徽章:
0
79 [報(bào)告]
發(fā)表于 2012-02-27 13:20 |只看該作者
weblogic我也是剛了解 還有很長(zhǎng)的路要走哇

論壇徽章:
0
80 [報(bào)告]
發(fā)表于 2012-04-20 10:20 |只看該作者
已經(jīng)買(mǎi)了書(shū),在慢慢看了,不知道戴老師還會(huì)不會(huì)來(lái)。。。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP