聲明:以下問題是我從事性能測試工作以來所遇到的一些常見問題,其解答均是我根據實際工作經驗,或者我所獲得的各種資源(報刊書籍、論壇、QQ、MSN等)得到的信息整理而成,其回答內容主要代表我個人觀點,并非標準答案,讀者如有不同意見,歡迎批評指教。

Q:并發用戶數和集合點有必然聯系嗎?在性能測試中必須使用集合點來測試嗎?

A:并發用戶數,顧名思義,就是同時操作的用戶,這里的“操作”可以指對系統真正的操作,也可以只是連接(此時通常叫作“并發連接數”),而集合點是一種特殊情況下的并發,多用于測試系統在瞬間加壓的表現。因此,并發用戶數和集合點有聯系,但并非必然的聯系,在測試并發用戶的性能測試場景中,可以不必設置集合點,這將視測試目標和測試策略而定。


Q:不設置集合點的測試,能代表是“并發”操作嗎?

A:有這樣一種說法,設置集合點是為了確保“嚴格意義上”的并發,其實從本質上看,這主要是一個看問題的粒度大小的問題。集合點的作用是通過工具的控制,確保一個請求嚴格地“同時”從前臺提交到后臺。可是如果微觀地看,是不存在嚴格意義上的并發的,即使在客戶端通過設置集合點的方式將100個請求同時提交到后臺,經過網絡上的傳輸消耗,可能它們并不是同時到達的,而即便100個請求同時到達服務器端,受到中間件和應用系統、數據庫的各種連接池、緩沖區,CPU處理隊列等的限制,也可能在服務器端產生等待的。因此,嚴格意義上的“并發”可以說是不存在的,我們需要做的是在可以接受的粒度范圍內取得一個最佳的平衡點,站在這個平衡點的層面上去看待“并發”這個問題。

性能測試無非有兩個目的,一是評測,二是調優。
在以評測為目的的性能測試中,用戶更關心的是業務上的并發,也就是真實業務場景的并發情況,這種情況下只要按照業務操作的模式去設置場景就可以了,并不需要設置集合點。
集合點是一種特殊情況下的并發,通常是在以調優為目的的性能測試中才會用得到,目的是有針對性地對某個可能存在性能問題的模塊施壓,以便找到性能瓶頸。


集合點在我實際的測試過程中用得并不多。


Q:性能測試的策略有哪些?

A:通常情況下存在性能調優性能評測兩種性能測試策略。----《軟件評測師教程》(清華大學出版社)第8章 應用負載壓力測試Page 223