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