中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

中間件(WAS、WMQ)運(yùn)維 9個(gè)常見難點(diǎn)解析

2019-05-16    來(lái)源:天下數(shù)據(jù)IDC資訊

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

安裝

1、was 負(fù)載均衡的機(jī)制的粘連性,was負(fù)載均衡異常?

有一個(gè)case系統(tǒng),部署在was集群環(huán)境,應(yīng)用是集群環(huán)境,有的時(shí)候當(dāng)一個(gè)節(jié)點(diǎn)異常的時(shí),客戶端訪問(wèn)該系統(tǒng)就會(huì)拋出異常,按正常情況,該會(huì)話應(yīng)該不會(huì)斷或者斷了再連接一次就會(huì)到另一個(gè)節(jié)點(diǎn),但是好多時(shí)候不管客戶端如何連接,都不行,該正常的客戶端一直是正常的,不正常重啟機(jī)器也不正常。當(dāng)然其他新連接的節(jié)點(diǎn)也沒啥問(wèn)題,直到重啟了故障節(jié)點(diǎn)的應(yīng)用,原先不能正常訪問(wèn)的客戶端才正常,就算當(dāng)時(shí)清除瀏覽器緩存也不好使,哪位有這方面的經(jīng)驗(yàn)可以多談?wù)劇?/p>

答:

1,這是故障轉(zhuǎn)移,was有內(nèi)部機(jī)制可以做到

1)內(nèi)存到內(nèi)存復(fù)制技術(shù)可以,缺點(diǎn),因每臺(tái)服務(wù)器共享session,所以占用內(nèi)存比較大(如果server很少,可以考慮使用)。

2)存儲(chǔ)到數(shù)據(jù)苦或者其他地方也可以實(shí)現(xiàn)。推薦使用,但是實(shí)現(xiàn)較復(fù)雜

2、如何大批量的完成WAS的安裝和部署?有哪些工具和方法?

如:幾百臺(tái)或上千臺(tái)WAS服務(wù)器的安裝和部署

答:

1,wsadmin 去寫腳本是個(gè)好辦法,配合虛擬化去做。

2,還有上千臺(tái)的已經(jīng)不適合去用商業(yè)軟件了,建議去考慮下開源的軟件,或者云平臺(tái)了。

3、was安裝低版本升級(jí)需要注意哪些方面?需要重新繳費(fèi)嗎?

答:

1,was 6 官方已經(jīng)不再提供支持,除非額外買服務(wù)。

2,從2018年4月開始,將不再支持Java SE 6 與 WebSphere Application Server 配合使用,建議更新為 Java SE 7 或 8

3,WAS V7.0.x 和 V8.0.x 和 Portal Server V8.0.x 于 April 30, 2018 End Of Service

低版本注意事項(xiàng):

1,規(guī)劃好磁盤空間,內(nèi)存和CPU

2,規(guī)劃好安裝目錄,盡量做到安裝目錄統(tǒng)一,規(guī)范。

3,了解好業(yè)務(wù)量大小,并發(fā)等等,方便你設(shè)計(jì)你的was部署方案。

4,調(diào)參數(shù)時(shí)注意結(jié)合實(shí)際,并沒有完全統(tǒng)一的配置。

5,升級(jí)前當(dāng)然要在測(cè)試環(huán)境測(cè)試后在驚醒生產(chǎn),JDK版本,及WAS不通版本是有差異的。

巡檢

1、針對(duì)WAS例行巡檢,一般有哪些檢查點(diǎn)?每個(gè)檢查點(diǎn)判斷的標(biāo)準(zhǔn)是什么?

例如:巡檢WAS,需要檢查文件系統(tǒng)、CPU是否高、線程過(guò)載、JVM性能、JDBC等方面是否正常。一般以磁盤空間未占滿60%,CPU低,未發(fā)生線程過(guò)載等判斷是否存在問(wèn)題。

答:

1,WAS DM node server的進(jìn)程狀態(tài),was自帶狀態(tài)命令。結(jié)合系統(tǒng)命令查看。

2,server的was_home/profiles/node/logs/server下:SystemOut.log SystemErr.log native_stderr.log native_stdout.log

3,was_home/profiles/node/logs/ffdc 日志

4,巡檢需要查看JVM 參數(shù)設(shè)置、線程池參數(shù)設(shè)置,標(biāo)準(zhǔn)應(yīng)該參照客戶的規(guī)范或者以通用參數(shù)設(shè)置為標(biāo)準(zhǔn),

5,如果有性能問(wèn)題時(shí)需要查看系統(tǒng)運(yùn)行情況:內(nèi)存、CPU,如經(jīng)常發(fā)生的內(nèi)存泄露問(wèn)題,有可能是堆內(nèi)存(heap)或本地內(nèi)存(native),這經(jīng)常性的是一個(gè)過(guò)程性的問(wèn)題,需要具體分析。

2、該如何分析Javacore(was中間件)

平常的故障中,一般都是需要分析javacore。也是夠頭疼的了。

一般在得到幾個(gè)javacore文件之后,就想到可以用IBM Thread and Monitor Dump Analyzer for Java工具去協(xié)助分析,不過(guò)。。。好像沒有找到如何分析的教程,看來(lái)很多文章,還是沒有頭緒。。

我們應(yīng)該去關(guān)注那個(gè)Current Thread?還是Thread Detail里面的哪些線程捏?關(guān)注Blocked和僵死狀態(tài)的線程??應(yīng)該從那個(gè)開始著手呀?

答:

不能通過(guò)幾句話說(shuō)清楚點(diǎn),需要知識(shí)積累,介紹幾個(gè)文檔:

1,IBM為javacore、GC和heapdump的提供了一個(gè)集成工具,叫IBMSupport Assistant

2,http://www-01.ibm.com/support/docview.wss?uid=swg21181068#2.1.1

3,IBMJava626.pdf 這本書去去看看,了解清楚了JVM。

3、我們ERP中WAS版本比較低,JVM設(shè)置256-1280,幾乎每個(gè)月總會(huì)有JVM宕機(jī)重啟發(fā)生,這正常嗎?

WAS版本5.1。JVM宕機(jī)重啟原因大多是由于內(nèi)存溢出導(dǎo)致,曾經(jīng)試著給堆擴(kuò)容至2048,仍會(huì)有宕機(jī)發(fā)生,從網(wǎng)上搜了不少資料,有人也建議設(shè)置定時(shí)重啟,這正常嗎?不能從根本是杜絕WAS宕機(jī)重啟嗎?

答:

1,首先你需要確認(rèn)OOM是因?yàn)閮?nèi)存不夠?qū)е聝?nèi)存溢出還是因?yàn)閼?yīng)用代碼不規(guī)范存在內(nèi)存泄露。

2,內(nèi)存也不是越大越好,需要和你你自己的環(huán)境。

3,JVM參數(shù)配置需要看你OS 平臺(tái) 32 位有限制,64位理論上來(lái)說(shuō)沒有限制,但是考慮到GC時(shí)間 最好不要調(diào)的過(guò)大,而最小JVM內(nèi)存如果太小則會(huì)頻繁GC。

4,可以看下應(yīng)用是否有內(nèi)存泄露,注意下GC日志,分析下。

監(jiān)控

1、WAS JVM使用率該如何合理監(jiān)控?

如果只是監(jiān)控WAS HEAP USED%,那告警頻率太高,如果開啟了GC,那么GC頻率結(jié)合WAS HEAP USED%是否是個(gè)好的監(jiān)控方法?那么GC頻率的閥值該如何設(shè)置?

答:

這個(gè)并沒有定論:JVM 堆內(nèi)存太低會(huì)導(dǎo)致GC頻繁,而JVM對(duì)內(nèi)存太大,導(dǎo)致GC時(shí)間太長(zhǎng),影響應(yīng)用訪問(wèn),如果并發(fā)又比較大,又存在大對(duì)象、處理的數(shù)據(jù)量又比較大,應(yīng)用對(duì)數(shù)據(jù)有沒有特殊處理,那發(fā)生高CPU的問(wèn)題會(huì)很頻繁。

所以沒有固定值,適合自己系統(tǒng)的需要測(cè)試嘍!

可以開啟詳細(xì)垃圾回收,然后自己測(cè)試GC間隔時(shí)長(zhǎng),然后做出判斷。

2、針對(duì)MQ的監(jiān)控,一般有哪些指標(biāo)值得我們?nèi)リP(guān)注?請(qǐng)列舉說(shuō)明

如:MQ的隊(duì)列深度、日志報(bào)錯(cuò)等

答:

MQ巡檢一般情況關(guān)注三個(gè)方面。

1,錯(cuò)誤日志。

A)qmgr 錯(cuò)誤日志:默認(rèn)目錄 /var/mqm/qmgrs//errors/AMQERR01.log,AMQERR02.log,AMQERR03.log

最新日志一般記錄在AMQERR01.log中,查看該日志判斷mq有什么問(wèn)題。常見報(bào)錯(cuò):AMQ9999通道異常終止錯(cuò)誤,AMQ9526消息序列號(hào)不一致,AMQ9513達(dá)到通道連接數(shù)最大值,AMQ9207 收到主機(jī)消息無(wú)效,還有錯(cuò)誤AMQ9206,AMQ9208,AMQ9209等。

除了上述錯(cuò)誤,可以把平時(shí)運(yùn)行中常見報(bào)錯(cuò),記錄下來(lái),作為日后巡檢的參考。

B)mq錯(cuò)誤日志: /var/mqm/errors/AMQERR01.log,AMQERR02.log,AMQERR03.log,*FDC文件

這個(gè)目錄等錯(cuò)誤一般和軟件運(yùn)行有關(guān)的錯(cuò)誤,如果有錯(cuò)誤該重點(diǎn)關(guān)注,且詳細(xì)分析每一條錯(cuò)誤的原因。FDC文件則是mq軟件運(yùn)行有問(wèn)題時(shí)的堆棧信息,可以通過(guò)這個(gè)文件判斷是否mq本身的bug。

2,MQ運(yùn)行狀態(tài)

A)通道的狀態(tài),非running的狀態(tài)都是有問(wèn)題的。需要結(jié)合日志判斷通道終止或者binding的原因。

B)隊(duì)列深度,如果隊(duì)列深度持續(xù)增長(zhǎng),沒有下降的趨勢(shì)需要重點(diǎn)關(guān)注。需要查隊(duì)列增長(zhǎng)的原因。不同的隊(duì)列增長(zhǎng)的原因也是不同的。如果是本地隊(duì)列增長(zhǎng)過(guò)快,查應(yīng)用程序?yàn)槭裁礇]有取走消息。如果是傳輸隊(duì)列,可能是通道或者網(wǎng)絡(luò)有問(wèn)題,消息無(wú)法傳輸

3,重點(diǎn)關(guān)注以下參數(shù)配置

A)tcp參數(shù):

修改WebSphere MQ系統(tǒng)配置文件mqs.ini,增加如下一節(jié):TCP:

KeepAlive=Yes

B)修改操作系統(tǒng)的TCP/IP參數(shù):

tcp_keepidle保持TCP/IP連接的時(shí)間,單位為0.5秒,缺省值為14,400,即兩個(gè)小時(shí),我們可將它設(shè)為5分鐘;

tcp_keepinittcp連接初始timeout值,單位為0.5秒,缺省值為150,我們可將它設(shè)為50;

tcp_keepintvl連接間隔,單位為0.5秒,缺省值為150,我們可將它設(shè)為50;

/usr/sbin/no -o tcp_keepidle=240   /usr/sbin/no -o tcp_keepinit=50   /usr/sbin/no -o tcp_keepintvl=50 

需要注意的一點(diǎn)是通道兩端的KeepAlive參數(shù)要保持協(xié)調(diào)一致,若發(fā)送端的KeepAlive值小于接收端的KeepAlive值,則當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時(shí),發(fā)送端的通道停下來(lái)之后,接收端的通道會(huì)仍然停不下來(lái)。

C)使用AdoptNewMCA

通過(guò)修改qm.ini文件的Channels一節(jié)進(jìn)行修改,如:Channels:

AdoptNewMCA=ALL

當(dāng)MQ接收到啟動(dòng)通道的請(qǐng)求,但是同時(shí)它發(fā)現(xiàn)與該通道對(duì)應(yīng)的amqcrsta的進(jìn)程已經(jīng)存在,這時(shí),該進(jìn)程必須首先被停止,然后,通道才能啟動(dòng)。AdoptNewMCA的作用就是停止這種進(jìn)程,并且為新的通道啟動(dòng)請(qǐng)求啟動(dòng)一個(gè)新的進(jìn)程。

該屬性可以將狀態(tài)處于running狀態(tài)的接收端通道強(qiáng)行終止,從而使發(fā)送端的通道啟動(dòng)或請(qǐng)求操作得以成功。

如果為某一通道指定了AdoptNewMCA的屬性,但是新的通道由于"channel is already running"而啟動(dòng)失敗,則它可以:

1) 新的通道通知之前的通道停止

2) 如果舊的通道在AdoptNewMCATimeout的時(shí)間間隔內(nèi)沒有接受該停止請(qǐng)求,相應(yīng)的進(jìn)程(或線程)被kill掉

3) 如果舊的通道經(jīng)過(guò)步驟2仍未終止,則當(dāng)?shù)诙䝼(gè)AdoptNewMCATimeout時(shí)間間隔到達(dá)時(shí),MQ終止該通道,同時(shí)產(chǎn)生"channelin use"的錯(cuò)誤。

D) 設(shè)置MaxChannels和MaxActiveChannels屬性

MaxChannels和MaxActiveChannels分別代表隊(duì)列管理器允許配置的通道的最大個(gè)數(shù)和允許同時(shí)運(yùn)行的通道的個(gè)數(shù),MaxChannels的缺省值是100,MaxActiveChannels的缺省值與MaxChannels相同。如果您的并發(fā)通道連接個(gè)數(shù)超過(guò)了100,您需要修改這兩個(gè)參數(shù)。這對(duì)于大并發(fā)的Client/Server間通訊尤為重要。

E)Disconnect interval屬性

DisconnectInterval(DISCINT)是發(fā)送和服務(wù)類型的通道所具有的一個(gè)參數(shù),它的作用是:在它設(shè)置的時(shí)間間隔內(nèi),如果傳輸隊(duì)列為空即通道上沒有消息通過(guò)時(shí),通道就會(huì)被停止。設(shè)置完Disconnect Interval參數(shù)之后,當(dāng)發(fā)送方重起通道時(shí),通道就會(huì)被正常啟動(dòng)。

Disconnect Interval的值會(huì)地影響通道的性能。如果把Disconnect Interval的值設(shè)置得非常小,會(huì)導(dǎo)致通道的頻繁啟動(dòng);反之,如果把Disconnect Interval的值設(shè)置得很大,則意味著即使通道上很長(zhǎng)時(shí)間沒有消息,系統(tǒng)資源也會(huì)被長(zhǎng)期占用,從而影響系統(tǒng)的性能。因此,利用改變 Disconnect Interval的值,我們可以有效地改善通道的性能。

當(dāng)傳輸隊(duì)列中沒有消息要傳送時(shí),發(fā)送方通道(SDR)、服務(wù)器通道(SVR)將在等待了該參數(shù)指定的時(shí)間間隔后斷開連接,停止通道。該參數(shù)以秒為單位,定義新的通道時(shí),如果沒有特別指定,該參數(shù)會(huì)繼承系統(tǒng)對(duì)象的屬性,設(shè)為6000秒,約兩個(gè)小時(shí)。亦通道連續(xù)兩個(gè)小時(shí)沒有消息發(fā)送后就會(huì)停止。DISCINT參數(shù)設(shè)定為0,通道永遠(yuǎn)不會(huì)停止。(注:有防火墻的不能設(shè)為0)

F) Heart Beat Interval屬性

與Disconnect Interval(HBINT)相對(duì)應(yīng)的是Heart BeatInterval這一參數(shù)(僅針對(duì)WebSphere MQ for AIX、HP-UX、OS/2、Sun Solaris、Windows NT/2000 V5.1以上)。它的作用是:在Heart Beat Interval指定的時(shí)間間隔內(nèi),如果傳輸隊(duì)列上沒有一直沒有消息到達(dá),發(fā)送方MCA會(huì)向接收方MCA發(fā)送一個(gè)心跳信號(hào),據(jù)此給接收方通道以停止的機(jī)會(huì),在這種情況下,它不必等待Disconnect Interval超時(shí),也會(huì)將通道停止下來(lái)。同時(shí),它會(huì)釋放用來(lái)存貯大消息的內(nèi)存空間并關(guān)閉接收方的隊(duì)列。

為了使HeartBeat Interval和Disconnect Interval這兩個(gè)參數(shù)更有效地發(fā)揮作用,一般情況下需要讓Heart Beat Interval設(shè)置值小于Disconnect Interval設(shè)置值。

另外,如果我們使用的傳輸協(xié)議是TCP/IP,我們也可以利用設(shè)置TCP/IP的socket的SO_KEEPALIVE參數(shù)來(lái)實(shí)現(xiàn)這一功能。設(shè)置完 SO_KEEPALIVE參數(shù),并設(shè)置時(shí)間間隔之后,TCP/IP本身就會(huì)定期去檢測(cè)另一端連接的狀態(tài),如果對(duì)方連接已斷開,通道也會(huì)被停止。在這里,TCP/IP的時(shí)間間隔也應(yīng)小于WebSphere MQ通道的Disconnect Interval的值。

G) ShortRetry和LongRetry屬性

在發(fā)送類型等類型的通道屬性中,還有四個(gè)參數(shù)是與通訊恢復(fù)和通道連接有關(guān)的,它們是:shortrty,shorttmr,longrty,longtmr,它們的缺省值分別是:10,60,999999999,1200,分別代表短 重試時(shí)間間隔和次數(shù)以及長(zhǎng)重試時(shí)間間隔和次數(shù),它們的作用和含義在于當(dāng)通道從running變?yōu)閞etrying狀態(tài)時(shí),按照這四個(gè)參數(shù)規(guī)定的時(shí)間間隔和次數(shù)進(jìn)行通道重新連接的嘗試,并且先進(jìn)行短重試,短重試結(jié)束后,再進(jìn)入長(zhǎng)重試。

在設(shè)計(jì)這四個(gè)參數(shù)時(shí),要注意以下兩點(diǎn):

1) 要確保短重試+長(zhǎng)重試的時(shí)間〉故障恢復(fù)時(shí)間

例如:假設(shè)您估計(jì)您的系統(tǒng)故障恢復(fù)時(shí)間為1個(gè)小時(shí),則要設(shè)置shorttmr(time of shortrty)+longtmr(time of shortrty)>2 hours這樣,才能保證在故障恢復(fù)之后,通道仍然能夠自動(dòng)進(jìn)行重新連接的嘗試。

2) 重試間隔將影響自動(dòng)恢復(fù)的效率

例如:如果您把短重試總時(shí)間設(shè)定為10分鐘,而長(zhǎng)重試時(shí)間間隔設(shè)為1小時(shí),而網(wǎng)絡(luò)在15分鐘后,便已經(jīng)恢復(fù),可是此時(shí),由于通道已經(jīng)進(jìn)入長(zhǎng)重試階段,它將在 1個(gè)小時(shí)之后,才能通過(guò)長(zhǎng)重試恢復(fù)通道的正常運(yùn)行。相反,也不必把重試間隔設(shè)置得太短,應(yīng)根據(jù)需要和用戶的實(shí)際情況進(jìn)行適中的設(shè)置。

H) Batch size屬性

通道的Batchsize(BATCHSZ)值是影響通道性能的一個(gè)關(guān)鍵參數(shù)。在MQ進(jìn)行消息傳輸時(shí),通道對(duì)消息的處理也是在同步點(diǎn)的控制之下并具有交易特性的,在以下條件滿足時(shí),它將統(tǒng)一提交一批消息:

當(dāng)發(fā)送的消息個(gè)數(shù)達(dá)到BATCHSZ時(shí);或傳輸隊(duì)列為空,并且在BATCHINT指定的時(shí)間間隔內(nèi)一直沒有消息到達(dá)時(shí)。

缺省情況下,通道的Batchsz是50,這是一個(gè)較為合理和優(yōu)化的設(shè)置。一個(gè)小的Batch size值會(huì)使每條消息占用大的資源。比如,假設(shè)我們?cè)诰钟蚓W(wǎng)的情況下,Batch size值越大,通道的性能越好。然而,在廣域網(wǎng)環(huán)境下,要根據(jù)網(wǎng)絡(luò)狀況的好壞來(lái)設(shè)置該參數(shù),若網(wǎng)絡(luò)狀況很差,Batch size值越大,可能會(huì)導(dǎo)致通道的性能越差。

優(yōu)化

1、針對(duì)MQ和WAS的優(yōu)化,一般從哪些方面去做,怎樣判斷性能瓶頸出現(xiàn)在哪里?

如:怎樣合理的配置WAS的線程數(shù)和JVM的大小?怎么發(fā)現(xiàn)和處理性能瓶頸?

答:

MQ:

MQ一般不存在性能問(wèn)題,對(duì)內(nèi)存和CPU消耗比較少。

一般可以從以下幾個(gè)方面對(duì)MQ進(jìn)行性能優(yōu)化:

1,MQ的API中最耗CPU的是MQCONN、MQDISC、MQOPEN和MQCLOSE,盡量避免必要地重復(fù)使用,最好做相關(guān)的連接池(自己開發(fā)這塊調(diào)用的話),批量消息使用一個(gè)MQCOMIT。只發(fā)送一條消息時(shí)用MQPUT1,性能消耗最小。

2,消息大小最好能少于8K,IBM的人說(shuō)8K就是一個(gè)檻,大于它性能就越來(lái)越差。非重要的、不可丟失的消息,使用非持久性,非持久性消息只會(huì)在內(nèi)存中,不會(huì)記日志,性能比持久性的消息高10倍。

3,日志分文件系統(tǒng),/var/mqm/log和/var/mqm分別保存在不同的文件系統(tǒng)中,能提高I/O效率。日志文件盡量最大化,個(gè)數(shù)最小化,可減少日志文件切換頻率,我們生產(chǎn)上好象就是主日志64M,5個(gè)。

4,根據(jù)自己系統(tǒng)真實(shí)情況修改qm.ini中的默認(rèn)配置,比如說(shuō):MaxChannels、MaxActiveChannels和PipeLineLength,當(dāng)通道連接量大的時(shí)候應(yīng)該改大MaxChannels、MaxActiveChannels。設(shè)置MCA采用多個(gè)線程的方式來(lái)傳輸消息需修改PipeLineLength

WAS:

1,WAS一般調(diào)優(yōu)的話針對(duì)JVM、線程池、DataSource 連接池,

2,參數(shù)怎么調(diào),需要根據(jù)實(shí)際應(yīng)用去測(cè)試

一般初始化調(diào)參可以試著設(shè)置為以下:

3,需要結(jié)合監(jiān)控?cái)?shù)據(jù)和實(shí)際,去分析系統(tǒng)的瓶頸和優(yōu)化的方法。

【凡本網(wǎng)注明來(lái)源非中國(guó)IDC圈的作品,均轉(zhuǎn)載自其它媒體,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)!

延伸閱讀:

  • 京東全面升級(jí)IPv6協(xié)議 開放技術(shù)服務(wù)實(shí)現(xiàn)IPv6生態(tài)建設(shè)
  • 伊頓 9395 系列 UPS 為大型數(shù)據(jù)中心而生
  • 如何“神還原”數(shù)據(jù)中心? 阿里聯(lián)合NTU打造了工業(yè)級(jí)精度的仿真沙盤!

標(biāo)簽: [db:TAGG]

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:區(qū)塊鏈和人工智能:完美匹配

下一篇:IT運(yùn)維背后的邏輯