1.1.1 Loadrunner JAVA腳本 唯一參數問(wèn)題
最初采用JNI 調用delphi的DLL,JAVA腳本中未使用static synchronized關(guān)鍵字時(shí)只能2個(gè)并發(fā)用戶(hù)就報錯
private static native synchronized String getUrl();
static{
// System.loadLibrary("PairConn");
System.loadLibrary("AppServerDll");
}
加上static synchronized對于復雜DLL在高并發(fā)時(shí)還是出現錯誤,在DLL中加共享內存互斥信號量問(wèn)題依然存在,網(wǎng)上有提到JNI對于多線(xiàn)程支持不是很好,最后放棄JNI接口,采用調用服務(wù)器端的EJB來(lái)獲取參數。
最初DLL用ADO直接從數據庫臨時(shí)表中讀參數數據,測試過(guò)程中發(fā)現讀取參數占用大量數據庫資源,最后改為將臨時(shí)表中的數據生成數據文件,DLL和EJB都直接讀取數據文件,由于數據文件比較大,讀取參數時(shí)不能一次性把所有參數數據加載,多線(xiàn)程之間共享文件指針。
1.1.2 Weblogic 部署問(wèn)題
1.1.2.1 創(chuàng )建domain
創(chuàng )建domain時(shí)用產(chǎn)品模式
1.1.2.2 更新包
通過(guò)刪除 包的cache 然后重啟實(shí)例徹底更新
停止實(shí)例
#!/bin/sh
cd /app/bea/user_projects/domains/rms7002/bin
./stopWebLogic.sh &
刪除cache腳本
#!/bin/sh
rm -r /app/bea/user_projects/domains/rms7001/servers/AdminServer
重啟實(shí)例腳本
#!/bin/sh
cd /app/bea/user_projects/domains/rms7001
rm nohup.out
nohup ./startWebLogic.sh &
查看控制臺輸出
#!/bin/sh
tail -f /app/bea/user_projects/domains/rms7002/nohup.out
1.1.2.3 java虛擬機配置
-Xms1024m –Xmx1024m 最大不超過(guò)2G
永久域太小導致EJB無(wú)法部署 –XX:MaxPermSize=256m
1.1.2.4 連接池
初始連接和最大連接數都設置成一樣,目前設置為80
1.1.2.5 EJB配置
高并的EJB需加大 ,需修改xdoclet的EJB注釋
<pool>
<max-beans-in-free-pool>1000</max-beans-in-free-pool>
<initial-beans-in-free-pool>20</initial-beans-in-free-pool>
</pool>
1.1.3 數據庫
1.1.3.1 大數據量表分區
按500萬(wàn)條記錄分一個(gè)區,pair_conn 13個(gè)分區、connector表34個(gè)分區,分別進(jìn)行了分區
1.1.3.2 大并發(fā)操作表
n 刪除無(wú)用的索引和所有外鍵
n 增加表和索引的initrans 參數,connector表改到了24,其它高并發(fā)表改到16
n 增加表和索引的FREELIST參數FREELISTS 10
n 所有索引和主鍵都放入索引表空間
n 所有表和索引都改成NOLOGGING
1.1.3.3 數據導入
1.1.3.3.1 重建用戶(hù)的腳本
延伸閱讀
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/