錢建良
計算機網(wǎng)上評卷系統(tǒng)于1999年在我國誕生。歷經(jīng)十多年的應(yīng)用發(fā)展,網(wǎng)上評卷不但解決了考試評卷的公正性和準(zhǔn)確性難題,而且還使教育測量及教學(xué)診斷的科學(xué)化得以較好地實現(xiàn)。江蘇省從2004年首次在成人高考中實施網(wǎng)上評卷,目前已在普通高考、學(xué)業(yè)水平測試、成人高考和研究生考試等各類教育考試中廣泛使用。在江蘇省各類教育考試網(wǎng)上評卷項目中,普通高考評卷的系統(tǒng)并發(fā)量最大,3 000多名評卷教師同時在線,掃描后經(jīng)過切割的子圖總?cè)萘考s為1TB,切割后的圖像大小一般從幾十KB到幾百KB。在評卷過程中,要求客戶端每個頁面(主要是考生答題圖像)流暢地、沒有任何停頓地顯示,對評卷硬件架構(gòu)和軟件性能有較高的要求。在確保網(wǎng)上評卷系統(tǒng)性能的同時,還需保障網(wǎng)絡(luò)線路、網(wǎng)絡(luò)交換機、服務(wù)器以及存儲等設(shè)備的可靠運行,避免由于單點故障造成的業(yè)務(wù)中斷。江蘇省教育考試院通過積極應(yīng)用新的計算機技術(shù),完善和優(yōu)化系統(tǒng)架構(gòu),已建設(shè)完成具有高可靠性、高可擴展性和高性能的新一代網(wǎng)上評卷統(tǒng)一架構(gòu)平臺,能滿足各類評卷軟件架構(gòu)的要求和各類評卷工作的需要。
網(wǎng)上評卷系統(tǒng)采用基于J2EE的設(shè)計架構(gòu),客戶端以瀏覽器方式訪問系統(tǒng)進行評卷。評卷開始前,先將考生原始答題信息通過掃描的方式轉(zhuǎn)換成電子圖片保存到存儲上,再根據(jù)評卷專家組預(yù)先制定的切割方案將圖片分割成以一題或若干題為單位的子圖,評卷教師通過評卷客戶端瀏覽器訪問應(yīng)用服務(wù)器,應(yīng)用服務(wù)器接收客戶端請求,從數(shù)據(jù)庫服務(wù)器中獲取相關(guān)信息,包括答題子圖的url路徑,返回給客戶端瀏覽器,客戶端瀏覽器收到響應(yīng)后,根據(jù)子圖的url路徑,從文件服務(wù)器獲取對應(yīng)子圖,返回給客戶端,評卷教師評閱答題子圖后對答題結(jié)果打分提交,存入數(shù)據(jù)庫服務(wù)器,并請求下一個答題子圖。
評卷系統(tǒng)服務(wù)器端主要由應(yīng)用服務(wù)器、文件服務(wù)器、數(shù)據(jù)庫服務(wù)器、掃描服務(wù)器和NAS存儲組成,各評卷點的評卷教師通過專線和中心機房服務(wù)器互聯(lián),如圖1所示。所有服務(wù)器的操作系統(tǒng)一般都采用32位windows2003,應(yīng)用服務(wù)器和文件服務(wù)器均使用HTTP協(xié)議提供服務(wù),應(yīng)用服務(wù)器一般采用基于jdk1.4的weblogic中間件,處理評卷業(yè)務(wù)邏輯,文件服務(wù)器使用weblogic或IIS提供圖像傳輸,數(shù)據(jù)庫服務(wù)器使用Oracle數(shù)據(jù)庫,NAS存儲保存考生的答題電子圖像。
系統(tǒng)的部署以每個科目為單位,配置應(yīng)用服務(wù)器、文件服務(wù)器、數(shù)據(jù)庫服務(wù)器和存儲。根據(jù)每個科目的評卷數(shù)量確定所需的服務(wù)器數(shù)量和存儲容量,并發(fā)量小的幾個科目會共用一組服務(wù)器。
網(wǎng)上評卷系統(tǒng)常用的部署模式在正常情況下,能滿足評卷的業(yè)務(wù)需求,但存在一定的不足。
圖1 網(wǎng)上評卷常用部署結(jié)構(gòu)圖
2.2.1 單點故障
單點故障存在于評卷系統(tǒng)的線路以及網(wǎng)絡(luò)和服務(wù)器設(shè)備各個環(huán)節(jié)。近幾年隨著城市建設(shè)的需要,目前各個城市路面施工比較多,連接各評卷點的專線隨時有被挖斷的風(fēng)險,一旦某一條專線線路中斷,相關(guān)評卷點的評卷工作將被迫停滯,而線路的恢復(fù)一般需要兩三個小時甚至更長;中心機房的核心交換機和服務(wù)器同樣存在單點故障,任意一臺設(shè)備故障將造成某個科目甚至所有科目的評卷業(yè)務(wù)中斷,設(shè)備修復(fù)、維護、更換的時間比較長。
2.2.2 部署復(fù)雜
每次評卷前根據(jù)不同考試項目評卷工作的需要,都要重新準(zhǔn)備服務(wù)器系統(tǒng),并配置系統(tǒng)參數(shù),進行系統(tǒng)優(yōu)化,從開始準(zhǔn)備到進行評卷工作,一般需要一周左右的時間,這些工作都是簡單的重復(fù)性工作,不僅浪費時間精力,而且容易出現(xiàn)差錯。
2.2.3 服務(wù)器資源利用率低
網(wǎng)上評卷系統(tǒng)在評卷高峰期間,系統(tǒng)負(fù)載較高,為確保網(wǎng)上評卷系統(tǒng)的性能,評卷使用的硬件服務(wù)器配置一般都比較高,但由于網(wǎng)上評卷系統(tǒng)所使用的系統(tǒng)都是32位系統(tǒng),無法充分利用硬件資源,造成資源利用率低下,整個系統(tǒng)性能得不到有效提高。
隨著計算機技術(shù)的發(fā)展,許多新技術(shù)如虛擬化技術(shù)應(yīng)用越來越廣泛,使得網(wǎng)上評卷系統(tǒng)的部署架構(gòu)有了進一步優(yōu)化的可能。從2011年下半年開始,江蘇省在網(wǎng)上評卷系統(tǒng)的部署中逐步采用虛擬化、負(fù)載均衡、數(shù)據(jù)庫集群、數(shù)據(jù)庫審計等技術(shù),逐步對網(wǎng)上評卷的常用部署架構(gòu)做進一步的調(diào)整和優(yōu)化,優(yōu)化的目標(biāo)主要有以下幾個:一是提高硬件基礎(chǔ)設(shè)施的高可靠性;二是提高評卷系統(tǒng)部署的效率;三是提高硬件資源的利用率;四是從硬件架構(gòu)和對數(shù)據(jù)庫的優(yōu)化提升評卷系統(tǒng)的性能。優(yōu)化后的網(wǎng)上評卷系統(tǒng)架構(gòu)圖如圖2所示,應(yīng)用服務(wù)器和文件服務(wù)器以虛擬機方式部署,不同科目部署各自的應(yīng)用服務(wù)器,而文件服務(wù)器和數(shù)據(jù)庫服務(wù)器則由所有科目共用。
圖2 優(yōu)化后的網(wǎng)上評卷系統(tǒng)架構(gòu)圖
優(yōu)化后的網(wǎng)上評卷系統(tǒng)架構(gòu)網(wǎng)絡(luò)部分采用全冗余架構(gòu),為了防止專線的物理中斷,中心機房和多個評卷點之間通過多條不同物理線路的專線組成環(huán)路,采用OSPF動態(tài)路由協(xié)議,確保線路中斷時,網(wǎng)絡(luò)流量無縫切換;中心機房評卷外網(wǎng)核心交換機和評卷內(nèi)網(wǎng)交換機均用網(wǎng)絡(luò)虛擬化方式部署,將多臺物理交換機虛擬成一臺大的邏輯交換機,實現(xiàn)跨設(shè)備鏈路聚合,共同分擔(dān)網(wǎng)絡(luò)流量,消除“網(wǎng)絡(luò)環(huán)路”,增強網(wǎng)絡(luò)的可靠性,提高鏈路利用率;系統(tǒng)中還部署了兩臺負(fù)載均衡設(shè)備,以主備方式運行,主備設(shè)備的切換會造成后端服務(wù)器群的服務(wù)短時間中斷,為減少由于評卷外網(wǎng)核心交換機中任意一臺設(shè)備故障而造成負(fù)載均衡設(shè)備的主備切換,每臺負(fù)載均衡都連接了評卷外網(wǎng)核心交換機中的成員設(shè)備。
服務(wù)器虛擬化技術(shù)的應(yīng)用,給系統(tǒng)的穩(wěn)定運行、簡化部署提供了堅實的保障:一是通過預(yù)先定制好的模版可快速部署虛擬服務(wù)器,提高了效率;二是提高硬件資源的利用率,原來一臺物理服務(wù)器只能提供一個應(yīng)用,通過虛擬化后可運行多臺虛擬機提供多個應(yīng)用;三是常用架構(gòu)中一臺物理服務(wù)器出現(xiàn)故障,將會造成較長時間評卷業(yè)務(wù)的中斷,而通過虛擬化的高可用性(High Availability),當(dāng)物理機發(fā)生故障時提供故障切換,虛擬機會在另一臺物理機上重新啟動,業(yè)務(wù)恢復(fù)的時間可縮短到幾分鐘以內(nèi),如果在故障切換過程中,要求虛擬機提供連續(xù)可用性,可以采用故障容錯(Fault Tolerance)技術(shù),使虛擬機無縫切換到其它物理機上;四是可隨時對物理機進行計劃內(nèi)停機維護,通過虛擬機動態(tài)遷移(VMotion)技術(shù),可以在不停機的情況下將整個正在運行的虛擬機從一臺物理服務(wù)器移動到另一臺物理服務(wù)器。
在網(wǎng)上評卷系統(tǒng)中,應(yīng)用服務(wù)器和文件服務(wù)器采用虛擬機進行管理,數(shù)據(jù)庫服務(wù)器使用物理機部署。虛擬機的HA或FT技術(shù)確保了物理機出現(xiàn)故障時能快速地恢復(fù),數(shù)據(jù)庫服務(wù)器采用集群技術(shù)避免單點故障。服務(wù)器配置多塊千兆網(wǎng)卡,采用基于IEEE802.3ad標(biāo)準(zhǔn)的LACP協(xié)議(Link Aggregation Control Protocol,鏈路匯聚控制協(xié)議),將雙網(wǎng)卡綁定為一個邏輯網(wǎng)卡,不僅解決了網(wǎng)卡的單點故障,而且增加了服務(wù)器的網(wǎng)絡(luò)帶寬。
采用虛擬化技術(shù)后,網(wǎng)上評卷系統(tǒng)需要用到存儲的地方有考生答題圖像、虛擬機共享存儲以及數(shù)據(jù)庫共享存儲。為保障存儲的可靠性,在江蘇省網(wǎng)上評卷存儲方案中,配置了三臺NAS存儲和兩臺FC SAN存儲。在三臺NAS存儲中,一臺存放掃描的考生答題原圖,另兩臺存放切割后的子圖,子圖用于評卷教師評卷使用,同時,這三臺存儲之間相互備份,確保任意一臺存儲故障都不會影響評卷;在兩臺FC SAN存儲中,一臺作為虛擬機的共享存儲,另一臺作為數(shù)據(jù)庫共享存儲,這兩套存儲之間相互備份,為了提高虛擬機系統(tǒng)和數(shù)據(jù)庫的性能,每臺SAN存儲中都配置了SSD固態(tài)硬盤作為緩存。
網(wǎng)上評卷系統(tǒng)的性能影響著評卷的進度,評卷教師希望以流暢的、相對穩(wěn)定的速度進行評卷。網(wǎng)上評卷系統(tǒng)的性能受多種因素的影響,包括硬件設(shè)備的部署架構(gòu)、服務(wù)器和網(wǎng)絡(luò)的性能、系統(tǒng)軟件和支撐軟件的優(yōu)化程度、代碼的質(zhì)量和效率等。在網(wǎng)上評卷系統(tǒng)的優(yōu)化方案中,本文主要側(cè)重于系統(tǒng)架構(gòu)、提高服務(wù)器和網(wǎng)絡(luò)的性能以及對系統(tǒng)軟件和支撐軟件的配置進行優(yōu)化。
在評卷過程中,服務(wù)器的負(fù)載基本趨于穩(wěn)定,但對于小分值、相對客觀、唯一答案的題目評卷中會出現(xiàn)峰值。近幾年來通過對整個系統(tǒng)架構(gòu)的深入分析,發(fā)現(xiàn)其制約瓶頸主要來自于服務(wù)器。在網(wǎng)上評卷系統(tǒng)中,主要針對應(yīng)用服務(wù)器、文件服務(wù)器和數(shù)據(jù)庫服務(wù)器來進行優(yōu)化。
首先,為了提高服務(wù)器資源的利用率和并發(fā)能力,將應(yīng)用服務(wù)器、文件服務(wù)器和數(shù)據(jù)庫服務(wù)器的操作系統(tǒng)從Windows 2003 32位系統(tǒng)遷移到Linux 64位系統(tǒng),32位Windows系統(tǒng)單個線程能使用的最大內(nèi)存不超過4GB,64位系統(tǒng)則遠(yuǎn)超出這個限制,Linux系統(tǒng)相比于Windows系統(tǒng),可通過最小化安裝減少系統(tǒng)資源占有,也可以避免Windows環(huán)境中病毒和木馬帶來的困擾,系統(tǒng)運行穩(wěn)定可靠。
其次,應(yīng)用服務(wù)器采用的中間件從32位軟件升級到64位系統(tǒng),中間件所使用的Java版本也從1.4升級到1.6,Java1.6相對于1.4,性能有了大幅度的提升,使得應(yīng)用服務(wù)器的性能也有了極大的提高。在一般的部署方式下,一臺采用32位系統(tǒng)的應(yīng)用服務(wù)器能支撐的在線評卷教師數(shù)量不到300位,在相同硬件配置下,采用64位系統(tǒng)后,能支撐的在線評卷教師數(shù)量能到700多名。
第三,文件服務(wù)器由IIS更改為Linux下的nginx,nginx是一款輕量級的高性能Web服務(wù)器,其特點是占有內(nèi)存少,并發(fā)能力強,適合處理靜態(tài)文件,傳輸考生答題圖片。
第四,數(shù)據(jù)庫服務(wù)器使用多路徑軟件管理服務(wù)器和存儲的連接,一方面保證存儲訪問的可靠性,另一方面實現(xiàn)負(fù)載均衡,提高服務(wù)器訪問存儲的性能,此外,在Linux中配置大內(nèi)存頁(Huge page),以減輕CPU的負(fù)擔(dān),減少系統(tǒng)內(nèi)存的消耗,提高數(shù)據(jù)庫系統(tǒng)的性能。
在整個評卷過程中,傳輸?shù)氖谴罅靠忌娮訄D像,因此文件服務(wù)器的壓力尤為突出。文件服務(wù)器的壓力大小和在線評卷教師人數(shù)、圖像灰度、圖像切割大小、評卷速度等因素有關(guān),在同等條件下,任何一個因素變化如圖像灰度提高,圖像的顯示就有可能從流暢變?yōu)殚g歇性的出現(xiàn)停頓,而且,不同科目文件服務(wù)器的負(fù)載差異很大,象語文、數(shù)學(xué)、生物、物理等科目的壓力就比較大,而英語、歷史等科目的負(fù)載會很小。
文件服務(wù)器實際上提供的是靜態(tài)圖片的HTTP服務(wù),在WEB服務(wù)優(yōu)化方案中,一般通過盡量減少HTTP請求、壓縮靜態(tài)文件、在服務(wù)器端和客戶端對靜態(tài)頁面使用緩存、減少圖片,圖片延遲加載和預(yù)加載等技術(shù)手段來提升瀏覽速度和提高并發(fā)連接數(shù)。文件服務(wù)器傳輸?shù)闹挥袌D片,如果評卷采用四評機制,一張圖片會傳給四位教師評閱,一般傳給三位或兩位教師,因此緩存無法起到根本性的作用,再加上圖片壓縮效率很低,常規(guī)的Web優(yōu)化方案不能起到效果。在江蘇省的部署方案中,在文件服務(wù)器前端部署硬件負(fù)載均衡設(shè)備,所有科目的圖片都通過訪問負(fù)載均衡設(shè)備獲取,解決了原有不同科目文件服務(wù)器壓力不均的情況,結(jié)合虛擬化技術(shù),當(dāng)整個文件服務(wù)器資源池不能滿足性能需求時,可以動態(tài)快速地增加虛擬機來提高文件服務(wù)器群的性能。
加強對網(wǎng)上評卷系統(tǒng)的性能監(jiān)控,對網(wǎng)絡(luò)流量、負(fù)載均衡設(shè)備、服務(wù)器CPU、內(nèi)存及磁盤、虛擬機性能、中間件、數(shù)據(jù)庫性能等進行實時監(jiān)控,及時發(fā)現(xiàn)問題所在,及時處理。為了保證數(shù)據(jù)的安全性,網(wǎng)上評卷系統(tǒng)中部署了數(shù)據(jù)庫審計系統(tǒng),所有對數(shù)據(jù)庫的操作將被記錄下來并可以回放。
網(wǎng)上評卷時間緊、任務(wù)重,同時在線評卷教師數(shù)量較多,加上傳輸?shù)氖谴罅康膱D片文件,評卷工作要求圖片顯示不能出現(xiàn)明顯停頓現(xiàn)象,對整個評卷系統(tǒng)的性能和基礎(chǔ)硬件設(shè)備的可靠性要求較高。本文主要從消除設(shè)備單點故障、充分利用硬件資源、提高服務(wù)器的并發(fā)處理能力等角度進行研究、分析和實踐,對網(wǎng)上評卷系統(tǒng)體系架構(gòu)進行完善和優(yōu)化,建成一個統(tǒng)一的通用部署架構(gòu),具有高性能、高可靠性、高可擴展性和易維護性。
[1] 錢建良.基于虛擬化平臺的網(wǎng)上評卷系統(tǒng)的研究與設(shè)計[J].江南大學(xué)學(xué)報,2013,12(4):419-423.
[2] 康長安,陳玉紅.基于前端的Web性能優(yōu)化[J].電腦知識與技術(shù),2011,7(16):3811-3813,3838.
[3] 房秉毅,張云勇,陳清金,賈興華.云計算網(wǎng)絡(luò)虛擬化技術(shù)[J].信息通信技術(shù),2011(1):50-53.