(1)關於was數據源鏈接池的最大、最小配置多大合適?怎樣去計算?php
(2)關於JVM的配置,64位系統,64位WAS,最值小和最大配置多大最優?怎樣去計算?html
(3)應用服務器線程池,怎麼樣配置最優? 怎樣去計算?java
(4)Linux上安裝was完成後,linux必須配置哪些參數,was性能最優?若是不配置的話,性能影響大嗎mysql
數據庫鏈接池建議初始化調優10-100。was鏈接池參數說明及調優V1.0:http://www.webspherechina.net/Document/detail/tid/109707
jvm1024-3072,jvm,鏈接池的請參照文檔,官方知識庫有些文檔,能夠當作參考。
線程池100-100。
linux最大文件打開數65536,打開core,用戶最大進程數65536
這些都是通常狀況下調整,具體的還須要結合實際狀況,通常狀況下,在系統上線以前,會作壓力測試,包括併發測試、疲勞測試等等。在作測試的時候,會不斷的調整併發量,壓力的時長。這個時候根據每次測試時WAS的運行狀況、已經壓力測試的結果,會進行不斷的調整直到一個滿意的值。我在壓力測試以前通常把PMI打開,級別是基本,而後每一個WAS實例內存最小值爲2G,最大值爲4G,同時打開WAS的verbose gc。數據源最小值設置爲10,最大值設置爲50。web container設置爲200。其餘更多的調整,好比Linux的調整,你能夠根據WebSphere Application Server Performance Cookbook裏面的建議進行調整。因爲文件比較大接近10M,你能夠到IBM官網直接下載PDF格式的文件:https://publib.boulder.ibm.com/httpserv/cookbook/
每次壓力測試之後,根據verbose gc的記錄狀況,PMI的記錄狀況,再進行鍼對性的調整。若是發現不是WAS的問題,還須要與開發人員一塊對業務代碼進行優化。 linux參數調整:linux
參數web |
參數值sql |
說明數據庫 |
nofileswindows |
10000後端 |
容許打開的文件數。打開文件設置的缺省數目 (2000) 一般足以供大多數應用程序使用。若是對此參數設置的值過小,在打開文件或創建鏈接時就可能會出錯。因爲此值限制服務器進程可打開的文件描述符數(軟限制)。 |
Nofiles_hard |
10000 |
容許打開的文件數。打開文件設置的缺省數目 (2000) 一般足以供大多數應用程序使用。若是對此參數設置的值過小,在打開文件或創建鏈接時就可能會出錯。因爲此值限制服務器進程可打開的文件描述符數(硬限制)。 |
TCP_KEEPALIVE_INTERVAL |
15 |
當探測沒有確認時,從新發送探測的頻度。缺省是75秒。推薦設置爲15. |
TCP_KEEPALIVE_PROBES |
5 |
在認定鏈接失效以前,發送多少個TCP的keepalive探測包。缺省值是9。這個值乘以tcp_keepalive_intvl以後決定了,一個鏈接發送了keepalive以後能夠有多少時間沒有迴應 推薦設置爲5. |
netdev_max_backlog
somaxconn |
3000
3000
|
當因爲入局鏈接請求比率太高而致使鏈接故障時,更改下列參數: echo 3000 > /proc/sys/net/core/netdev_max_backlog
echo 3000 > /proc/sys/net/core/somaxconn |
先設置一個經驗值,好比最小值2G,最大值4G,同時開啓verbose gc。而後作壓力測試,或者跑業務,跑一段時間之後根據gc日誌再設置一個合理的JVM值。
一、GC日誌是設置JVM大小時,最好的參考
二、我看到的不少生產環境GC都是開啓的,若是追求極限性能確定關閉了好
三、session複製是否打開與業務要求相關,性能是是確保業務正常的前提下再考慮的問題
新系統部署上線時,如何評估設置內存大小的合理性?
這個考慮的因素不少,好比,併發用戶數,你的應用是否是吃大內存型的?好比要生成大的報表,要返回大的數據庫結果集。
一般能夠以壓力測試來預估一個大體的值,而後再慢慢進行調整。
WAS7.0 虛擬機 LINUX集羣 F5作負載均衡,常常在業務繁忙期遇到某一節點假死狀況,在WAS控制檯中查看該節點一切正常,F5因爲斷定假死節點正常因此正常分發負載,形成分發到改節點的訪問用戶沒法使用應用系統,請問有相似的問題的解決方法嗎?
這種問題能夠從兩方面着手:
一、F5探測的方式要準。能夠編寫一個應用,而後讓F5去探測,返回200/500/501之類定製的代碼來進行決定要不要進行分發了。另一個能夠直接用F5 + IHS + ODR + WAS,而後加上健康管理策略的方式進行。
二、後端WAS既然在業務繁忙出現性能問題,就在業務繁忙的時候抓幾個javacore,找到假死的緣由。
有沒有分析javacore、GC和heapdump比較好的方法,在平常環境中處理這類問題有沒有好的文檔供參考。
IBM爲javacore、GC和heapdump的提供了一個集成工具,叫IBM Support Assistant,我目前使用的版本仍是4.1.2這個版本。
分析javacore、GC和heapdump,實際上就是跟IBM JDK打交道,我看的文檔是IBM JDK的診斷文檔,對排錯很是有幫助。
diag60.pdf:http://www.webspherechina.net/club/attachment.php?aid=MjE5MDd8ODljNzY4YjN8MTQ3NDE4NTgxMHw5ZTgwTW5IUGRuWld0aDBHcE83Mzc4T3dLMXhDaGRxNjhqdk1ibkVuYzBSQzdHSQ%3D%3D
IBMJava626.pdf:http://www.webspherechina.net/club/attachment.php?aid=MjE5MDl8ZjViODI2NDV8MTQ3NDE4NTgxMHxkMDVhOUpoUjNlbk5iYmd5ZG9VeTlCSDc3bk5KUU1Da29CRE5ycUFPS0lDUWxNZw%3D%3D
WebSphere Application Server ND版本默認自帶2種Session共享方式,一種是基於數據庫JDBC類型的,一種是基於內存複製M2M的。除了這兩個內置的session共享實現方式之外,還有WebSphere eXtreme Scale實現方式,不過這個在早期WebSphere版本中須要額外購買。
對我本人來講,節點數少的狀況下,我用內存複製方式比較多。內存到內存複製具體配置步驟,分佈式環境設置V1.0.docx:http://www.webspherechina.net/club/attachment.php?aid=MjE4Nzl8NDliZTg0MWJ8MTQ3NDE4NTE5OXxiZGQzL0srcjliTm0xSTJONDB6Y3AzbjlGY1RFS2RpSmQ3dTVVdkI5N2dWUzFNMA%3D%3D
量小的話,採用內存到內存複製便可。
量大的話,能夠上WebSphere eXtreme Scale進行了。
怎麼樣監控會話數。啓用PMI,PMI數據裏面有會話數這一項。
目前,監控WebSphere最好的軟件是APM範疇的軟件。最火的APM範疇的監控工具,好比Quest Foglight、BMC PATROL等等。以oneapm爲例,監控內容以下:
使用 OneAPM Java 探針來監控運行在 WebSphere 之上的 Java 應用程序,OneAPM 提供深度高可見性的應用性能管理解決方案,可以抓取到 WebSphere 上 Web 應用程序的行級代碼或 SQL 語句調用。OneAPM 還提供了豐富的 JVM 分析、線程、會話等監控信息,能夠直觀地展現 JVM 堆內存、非堆內存(棧內存、方法區、常量池等)、各個時期對象的內存佔用大小、垃圾回收活動詳情及類的數量等。
監控 WebSphere 中 Java 應用的主要特色
監視分佈式 SOA 應用程序的跨應用程序追蹤
將主要業務軌跡的關鍵業務進行拓撲分析
用性能剖析分析方法調用棧軌跡
深度地監控您的 JVM 健康情況
WebSphere 中 JVM 的內存圖表:
堆內存顯示圖表
非堆內存顯示圖表
實時顯示垃圾回收活動
裝載和卸載掉 class count 圖表
WebSphere 中 JVM 的線程圖表:
活動線程數圖表
線程池的活動和空閒線程
WebSphere 中 HTTP Server 的會話圖表:
分析每一個應用程序的 HTTP 會話數,包括:活躍、過時、拒絕的會話
WebSphere 應用服務器事務:
WebSphere 事務管理、活躍事務監控
監控 WebSphere 應用服務器建立的每一個事務總數的變化
監控總的事務的變化
問:服務器was8.5 、WAS SDK1.6(was自帶),ISA5最新版(默認SDK1.8)、本地電腦jdk1.8
was節點虛擬機上已開啓 1972 agent代理端口
2016-8-16 9:51:50 com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean startAgent
INFO: Health Center agent started on port 1972.
health center 鏈接 1972 端口報錯:
在 193.28.6.8 上的端口 1972 未檢測到 JVM
答:辦法1:用JDK 1.6版本對應的health center client
辦法2,你試試看看好使很差使:
${WAS_HOME}${YOUR_JAVA_HOME}jrelibhealthcenter.properties
from:
com.ibm.java.diagnostics.healthcenter.agent.transport=iiop
to:
com.ibm.java.diagnostics.healthcenter.agent.transport=jrmp
相關說明:
com.ibm.java.diagnostics.healthcenter.agent.transport(僅限 Java 應用程序)
設置用於客戶機與代理之間鏈接的傳輸協議,能夠是 IIOP 或 JRMP。若是將 Health Center V1.3.0 或更高版本與 WebSphere® Application Server for z/OS® 一塊兒使用,請將該屬性設置爲 jrmp。缺省值是 iiop。
問:還有Performance tuning toolkit 和這個isa有什麼區別和聯繫;pmi方式和如今的jmx方式鏈接診斷工具;PTT應該就是soap協議收集pmi的數據吧?isa應該是使用JMX協議收集PMI的數據吧?
答:能夠這樣簡單理解:PTT是在線監控WAS、離線分析WAS監控數據的工具;ISA是離線分析工具的合集。
問:我如今很是困惱,爲啥health center client 沒法在 端口 1972 未檢測到 JVM;不知道哪裏出現了問題?
一、我服務器端 health center agent 已經開發了 1972端口,而且我查到了這個端口一直在監聽等待鏈接
二、health center agent 這個代理是was8.5 sdk1.6自帶的。
我猜想是否須要升級服務器端 這個agent?
答:com.ibm.java.diagnostics.healthcenter.agent.transportSets the transport protocol to use for the connection between the client and the agent, either IIOP or JRMP. If you are using Health Center version 1.3.0 or later with WebSphere® Application Server for z/OS, set this property to jrmp. The default value is iiop.
經過把傳輸協議從IIOP 改成 JRMP,能夠連通了。高版本的healthcenter client鏈接低sdk自帶的healthcenter agent。
基於SUN JDK改的IBM JDK,都有permsize。好比下面的based on Oracle 7u79-b14,指的就是基於SUN JDK改的。操做系統主要是windows、linux、solaris平臺,設法跟普通的SUN JDK沒什麼區別。好比64位的JDK,我通常都設置:
-XX:PermSize=256m -XX:MaxPermSize=512m
D:IBMjavajava1.7.0_64_SR9FP1bin>java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build pwa6470sr9fp1-20150602_01(SR9 FP1))
IBM J9 VM (build 2.6, JRE 1.7.0 Windows 7 amd64-64 Compressed References 20150406_242981 (JIT enable
d, AOT enabled)
J9VM - R26_Java726_SR9_20150406_1443_B242981
JIT - tr.r11_20150401_88894
GC - R26_Java726_SR9_20150406_1443_B242981_CMPRSS
J9CL - 20150406_242981)
操做 WebSphere Process Server 環境,第 3 部分: 設置、配置和維護 WebSphere Process Server Business Process Choreographer 數據庫
http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0912_grundler/0912_grundler.html
以上這篇文章裏面有相應的腳本,你須要根據項目的實際狀況,對腳本進行定製,以便完成手工清理的工做。
問:最近一直在作Websphere Commerce 維護工做,最近要搭了一套WCS雙節點後,業務系統在經過WEB訪問時,刷新一次就訪問到隨機的後端app上,後發現多是solr羣集可能配置有問題,在雙節點上都在dmgr中部署了solrcluster,appcluster2個羣集,也是正常啓動的,更改solrconfig.xml,正常網頁訪問出錯,wcs後臺沒有問題,把solrconfig.xml改爲默認網頁能正常,web訪問會遊離致使不正常的頁面,請問具體的was8.5 solr羣集部署
答:Websphere Commerce的集羣實施是很是複雜繁瑣的,而且還須要根據項目要求進行各類個性化設置。你能夠參考DW社區的兩篇針對性的文檔:WebSphere Commerce 以及 Search Engine 雙集羣環境的搭建:http://www.ibm.com/developerworks/cn/websphere/tutorials/1111_mazq_commmers/
在 WebSphere Commerce V7.0 中部署 solr search 的一些最佳實踐:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1306_liq_solr/1306_liq_solr.html
Commerce8.0 採用了自動化部署方式,在Ibm knowlege Center裏面,有不少看完後跟Commerce7.0仍是有很大的不一樣的。
環境,績效考覈系統Linux6.2,was6.1ND單實例Was正常關閉,可是9080端口遲遲不能釋放,使用netstate -an |grep 9080 發現一些鏈接一直不能釋放,那麼問題是若是9080端口釋放不了,在啓動was的時候就會上報端口綁定失敗,啓動失敗,有沒有好的辦法讓這些tcpip的瞭解快速釋放,減小業務停機時間。故障現象記錄:
在WAS進程不存在後,使用netstat命令查看9080端口,發現以下結果:
#netstat -aon|grep 9080
tcp 0 153305 ::ffff:20.100.99.40:9080 ::ffff:20.101.37.14:63336 FIN_WAIT1 probe (0.66/0/0)
答:參考調優
http://www.ibm.com/support/knowledgecenter/SSEQTP_6.1.0/com.ibm.websphere.nd.doc/info/ae/ae/tprf_tunelinux.html
在sysctl.conf文件裏面增長:
net.ipv4.tcp_fin_timeout = 30
關於WebSphere的技術知識,我主要是看如下這幾本redbook網站下載的電子書:
redp4580 WebSphere Application Server V7 Session Management.pdf
redp4855 WebSphere Application Server V8.5.5 Technical Overview.pdf
redp4870 WebSphere Application Server New Features in V8.5.pdf
sg246798 WebSphere ApplicationServer V6 Problem Determination for Distributed Platforms.pdf
sg247461 WebSphere Application Server V6.1 Problem Determination IBM Redpaper Collection.pdf
sg247584 IBM WebSphere Application Server V6.1 on the Solaris 10 Operating System.pdf
sg247615 WebSphere Application Server V7 Administration and Configuration Guide.pdf
sg247708 WebSphere Application Server V7.0 Concepts, Planning, and Design.pdf
sg248022 WebSphere Application Server V8.5 Concepts, Planning, and Design Guide.pdf
sg248043 Enterprise Caching Solutions using IBM WebSphere DataPower SOA Appliances and IBM WebSphere eXtreme Scale.pdf
sg248048 WebSphere Application Server V8.5 Migration Guide.pdf
sg248056 WebSphere Application Server V8.5 Administration and Configuration Guide for the Full Profile.pdf
sg248076 IBM WebSphere Application Server Liberty Profile Guide for Developers.pdf
sg248076 WebSphere Application Server Liberty Profile Guide for Developers.pdf
sg248079 POWER7 and POWER7+ Optimization and Tuning Guide.pdf
sg248194 Configuring and Deploying Open Source with IBM WebSphere Application Server Liberty Profile.pdf
sg248194 Configuring and Deploying Open Source with WebSphere Application Server Liberty Profile.pdf
tips1024 From Development to Production with the IBM WebSphere Application Server Liberty Profile.pdf