詢方質(zhì)疑
在我的推進下,系統(tǒng)得以提前部署到正式環(huán)境中,但不久就發(fā)現(xiàn)了一個嚴重的問題:課件的視頻文件通常在幾百兆左右,在上傳到AIX平臺時,速度非常慢,只有40KB/s,以至于瀏覽器頁面失去響應,只有十幾兆的小課件可以上傳成功,稍微大一點的課件就傳不上去了。
我組織項目團隊深入分析了這個問題,通過比較測試環(huán)境與正式環(huán)境的不同之處,定位問題的原因可能來自“網(wǎng)絡環(huán)境”或者“操作系統(tǒng)”,此外應用程序上傳組件在正式環(huán)境下能否正常運行也有待驗證,根據(jù)初步分析,我們制定并實施了以下問題排查措施:
在客戶方環(huán)境下使用FTP工具上傳大視頻文件,并使用網(wǎng)絡監(jiān)測工具觀察上傳過程是否正常,結(jié)果上傳速度很快,網(wǎng)絡監(jiān)測也完全正常,基本排除了網(wǎng)絡因素;
在客戶方Windows環(huán)境下搭建WebLogic應用服務器進行測試,在上傳代碼中增加日志輸出功能,打印分段傳輸文件過程中每段的用時和傳輸速度,結(jié)果上傳速度很快,可以確定上傳組件正常運行;
對操作系統(tǒng)的問題,為進一步縮小問題范圍,我們在公司搭建了HP Unix測試環(huán)境,上傳速度仍然很快,這樣基本確定問題是由AIX操作系統(tǒng)帶來的。
我組織項目團隊成員繼續(xù)奮戰(zhàn),查閱了AIX操作系統(tǒng)的大量資料,在團隊技術(shù)骨干的分析和論證下,最后定位問題原因在于一個AIX操作系統(tǒng)的網(wǎng)絡傳輸參數(shù)。于是我們寫了一份分析報告提交給用戶,說明了排查的過程和結(jié)論,請求客戶方允許我們調(diào)整AIX操作系統(tǒng)的一個參數(shù),問題就可以迎刃而解。
但是事情并不像預期的那樣順利,客戶方請的咨詢公司認為我們的報告證據(jù)不足,認為問題是應用系統(tǒng)的錯誤造成的,應修改應用系統(tǒng),不應調(diào)整參數(shù),而且由于AIX系統(tǒng)上運行著多家公司的多個應用系統(tǒng),調(diào)整參數(shù)可能對其他系統(tǒng)產(chǎn)生影響,因此咨詢公司堅持在沒有得到權(quán)威結(jié)論前不同意調(diào)整參數(shù)。
我們一時找不到AIX系統(tǒng)驗證我們的結(jié)論,但是客戶方要求我們盡快解決問題,迫于時間壓力,我們只好采用了權(quán)宜之計,修改了技術(shù)方案,從系統(tǒng)設計上做了調(diào)整,增加了一種課件上傳管理的方式,避開了直接通過應用系統(tǒng)上傳,這樣做會增加一些操作步驟,但能夠滿足課件后臺維護的要求,客戶也認可這種修改方案,這個問題基本得到了解決。
用事實回應質(zhì)疑,贏得甲方肯定
問題雖然得到解決,但我的心里卻很不踏實:我們的排查結(jié)論是否正確還沒能在AIX系統(tǒng)上進行驗證,這次繞開陷阱的做法只是權(quán)宜之計,對系統(tǒng)今后的推廣和產(chǎn)品化等工作會帶來隱患,也許我們在未來還會再次遇到這個陷阱。此外,由于咨詢公司多年服務于客戶方,有重要的地位,他們的意見會左右客戶方對我們的評價。這是我必須徹底解決的又一個重要問題:如何用事實證明我們的實力和價值。
我一直沒有放棄多方尋找問題的解決方法,也一直保持和合作伙伴的聯(lián)系。當時我還負責另一個項目,需要第三方測試,為此請了專業(yè)的第三方測試機構(gòu)。他們擁有各種品牌、型號和配置的服務器,這讓我看到了轉(zhuǎn)機。在第三方測試工作開展的過程中,我與測試機構(gòu)的負責人建立了良好的關(guān)系,在我提出需要免費借用設備時,對方很爽快地答應了。
我們很快在AIX操作系統(tǒng)上搭建了應用系統(tǒng),進行了期待已久的測試。選定幾個不同大小的視頻文件樣本,在網(wǎng)絡傳輸參數(shù)tcp_nodelayack為缺省值0的情況下進行測試,結(jié)果與在客戶方現(xiàn)場的表現(xiàn)一樣,文件上傳速度為40KB/s左右,50MB以上的文件就不能成功上傳。當把該參數(shù)改為1,再用樣本文件測試,結(jié)果上傳速度顯著提高,達到4MB/s。我們詳細記錄了驗證過程,寫了一份報告發(fā)送給客戶方和咨詢公司,用事實證明了應用系統(tǒng)沒有問題,排查結(jié)論是正確的,贏得了客