性能測試經驗總結
1.要有信心
2.要有穩定,干凈的環境,要停掉服務器上不必要的進程和服務
3.要在檢查資源是否正常釋放了,
內存是否存在泄漏,內存的不斷增長,也會影響請求的相應時間
數據庫連接是否在使用后得到釋放.
可以查看對象的分配狀況
要檢查查詢的時候是將所有的數據查出來了還是只查了一頁數據
4.連接池的配置,可以分配足夠初始連接,同時配置沒有連接時的等待時間,要保證始終是取到連接的
免得測出的是假相.
給出一個配置的例子
<bean id="dataSource" class="com.zte.platform.db.FolDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value=""/>
<property name="username" value=""/>
<property name="password" value=""/>
<property name="initialSize" value="50" />
<property name="maxActive" value="200" />
<property name="maxWait" value="-1"/>
<property name="maxIdle" value="100"/>
<property name="removeAbandoned" value="true"/>
<property name="removeAbandonedTimeout" value="30000"/>
<property name="logAbandoned" value="true"/>
</bean>
5 要用profile工具,判斷在多并發情況下,時間的分配狀況,抓住主要矛盾,解決最影響性能的地方
6.服務器需要配置好,對內存和線程都需要配置.
tomcat配置
<Connector
port="8088" maxHttpHeaderSize="8192"
maxThreads="100" minSpareThreads="100" maxSpareThreads="450"
enableLookups="false" redirectPort="8443" acceptCount="300"
connectionTimeout="20000" disableUploadTimeout="true" />
內存配置:
這次測試只配置了java vm, -Xms1024M -Xmx1024M
有人推薦這樣配置:
JVM_ARGS= -Xms1408M -Xmx1408M -XX:MaxPermSize=96M -XX:NewSize=500M -XX:MaxNewSize=500M -Xss128k -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
7.測試腳本中不能帶session標識,如http://..../app/perftest.jsp;jsessionid=D68FC8BDDB954F33AD2626D67553EC8E
需要去掉 ;jsessionid=D68FC8BDDB954F33AD2626D67553EC8E ,因為帶sessionid會導致測試結果是多個線程訪問一個用戶的會話.
實際應用中是一個用戶一個會話一個線程
8 日志分析,分析日志中出現的異常,異常發生的時候,往往性能會降低,也會引發失敗事務.
9. 和其他系統集成了,要先和其他系統分開進行測試,達標一個再集成進來,將問題局部化定位.
10.最好調優人員學會使用 loadrunner測試工具,先自己使用loadrunner測試通過再給測試人員,提高效率
文章來源:
http://stocknewbie.bokee.com/viewdiary.17160571.html
posted on 2009-05-01 10:52
huohuo 閱讀(118)
評論(0) 編輯 收藏