999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于B/S的網上考試系統高并發性能優化研究與應用

2015-07-17 01:25:47徐曉鶴山東鋼鐵股份有限公司萊蕪分公司自動化部山東萊蕪271104
山東工業技術 2015年7期

徐曉鶴(山東鋼鐵股份有限公司萊蕪分公司自動化部,山東 萊蕪 271104)

基于B/S的網上考試系統高并發性能優化研究與應用

徐曉鶴
(山東鋼鐵股份有限公司萊蕪分公司自動化部,山東 萊蕪 271104)

摘 要:網上考試系統隨著網絡信息技術的發展不斷得到推廣應用。隨著應用對象、考試規模的不斷擴大,高并發高數據量成為網上考試系統性能提升的瓶頸。該文結合萊鋼網上考試系統的系統設計與應用實踐,分析了系統在高并發應用條件下的瓶頸,并給出了解決方案。

關鍵詞:network exam;high—concurrency;研究應

0 引言

網上考試是延伸了傳統考試考場的涵義,它利用網絡的無限廣闊空間,把考場從學校延伸到了家中、計算機房、辦公室及其它任何網絡所覆蓋的區域,并可隨時對考生進行考試,加上數據庫技術的利用,使考試變得更公平公正、更具權威性和可靠性。與傳統考試方式相比,計算機網絡考試可以突破地域限制、實現自動控制、自動閱卷評分等特性,大大節約人力、財務、物力。由丁B/S模式具有客戶端無需配置、開發效率高、易于管理和維護等特點,基于B/S模式的網絡考試系統正在逐漸成為主流應用。但每個客戶端用戶的訪問,都會占用服務器一定的資源。因此,在硬件設備和軟件算法復雜度不變的情況下,每臺應用服務器一般都存在一個最高用戶并發數,一旦并發訪問的用戶數量超過這個數量,就會引起系統性能急劇下降,甚至出現用戶訪問無響應等服務器拒絕服務的情況。

萊鋼網上考試系統主要用于業務技能競賽.需要保持各參賽人員試卷內容一致,試題隨機排序,下載、上傳必要的附列資料文檔,一般同時參加考試人數在六千人左右,甚至多達上萬人,經常出現并發訪問和提交大量數據,因此,如何優化網上考試系統設計策略,提升服務器性能,使之能滿足高并發大數據量的應用,是必須解決的問題。

1 接入層負載均衡

根據網絡七層協議定義,在服務器端,可以在傳輸層或應用層對系統的介入層進行負載均衡考慮。考試系統為B/S架構,目前使用基于應用層HTTP協議的負載均衡技術較為成熟,且應用廣泛,使用既有的開源技術即可達到接入層的網絡負載均衡的目的。雖然在越底層做負載均衡效率越高,資源利用率越小,但是基于傳輸層TCP協議的LVS(Linux Virtual Server)維護難度較大,因此在應用層做負載均衡是最佳選擇,在本系統中LVS作為輔助方案。

NGINX是開源的基于HTTP的反向代理,除了具有HTTP包轉發的功能外,還能通過配置實現HTTP協議的負載均衡。在服務器上部署多套考試系統Server端程序后,在NGINX的配置文件nginx. conf中,添加負載均衡配置項,并根據各自服務器的性能及部署情況設置各自的權重,即可達到按需負載均衡的目的。

下面的配置表示,每6個對考試系統的HTTP請求中,3個請求會被轉發到10.10.10.110服務器,2個被轉發到10.10.10.111服務器,1個被轉發到10.10.10.112服務器。

upstream exameServer { server 10.10.10.110:8080 weight=3; server 10.10.10.111:8080 weight=2; server 10.10.10.112:8080; }

2 核心業務和非核心業務分離

考試系統的核心業務為考試功能,除此外還包含了非核心業務如試卷生成、評分、查分、統計、通告等。一般情況下,考試功能是考試系統的核心,保證考試功能不被其他非核心業務的影響至關重要。系統需要將考試功能獨立成為單獨的進程,防止非核心業務功能因宕機、資源利用率過高等造成對考試的影響。

3 根據題型劃分服務端程序

一次考試試卷中,往往有多種題型,題型不同,用戶在WEB界面上停留的時間長短不同,對后端產生的數據讀寫請求數也不相同。以選擇題和問答題為例,用戶在選擇題上停留的時間一般較短,短時間內產生的數據讀寫請求較多,單條數據的數據長度較小;但用戶在問答題上停留的時間一般會較長,產生的數據讀寫請求較少,但是單條數據的數據長度往往較大。

因此,可以根據題型的不同,將讀寫頻繁的頁面和讀寫較少的頁面獨立成不同的應用,并合理分配兩者之間的比例,將有利于提高對服務器資源的利用。根據統計用戶在選擇題上的平均停留時間為1分鐘,在問答題傷的平均時間為5分鐘,那么相對更多地部署選擇題對應的服務器端應用。在較大的并發讀寫請求情況下,將其進程部署個數分配為5:1將是比較合理的選擇。

4 數據庫讀寫分離

考試系統的數據持久化層使用了數據庫作為存儲工具,多并發讀寫數據庫的情況下,鎖操作頻繁將導致系統花費大量時間在數據庫的讀寫上。因此,對數據庫進行讀寫分離將顯得尤為重要。

考試系統讀寫分離后,對數據的寫操作如考試功能作用于主庫,對數據的讀操作如查分功能作用于備庫。若單個備庫不能滿足查詢業務需求時,可建立多個備庫,并根據業務量合理分配備庫的使用程序。

4.1 數據庫分庫分表

考試系統的核心數據分為題庫和用戶考題數據,題庫用于記錄考題元數據,用戶考題數據用于記錄用戶的考試題目、用戶考試答案,以及考試時間等信息。題庫一般數據條數不多,使用單表即可滿足日常應用。但是用戶考試記錄隨著年限的增長,當達到百萬級別的時候,讀寫性能將明顯降低。根據需要,為每一個庫(也可以到表級別)設置一套數據文件(元數據文件、索引文件和數據文件),不同數據庫的文件又放置在不同的磁盤中,將大大提高磁盤的讀寫效率。

4.2 為考試設計的分庫分表

考試過程中的數據讀寫并發量,主要是用戶對自己的考試數據的讀寫與更新,可以按照用戶維度,進行分庫分表。在實際運行中發現,單庫單表只能支撐p人的同時考試,那么為了滿足t人同時考試,可以建立m個庫n張表,其中t <= m*n*p。在用戶考試時,根據用戶的登錄名稱或內部號碼等Hash到這m*n個庫表中,從而讓這些庫表共同分擔了t個人考試的讀寫請求。

作者簡介:徐曉鶴(1983-),男,山東濟南人,本科,工程師,研究方向:工業自動化控制軟件工程。

主站蜘蛛池模板: 综1合AV在线播放| 农村乱人伦一区二区| 亚洲综合狠狠| 中文字幕有乳无码| 久久综合一个色综合网| 99国产精品国产高清一区二区| 亚洲成人精品在线| 久久精品亚洲热综合一区二区| 国产特一级毛片| 国产日韩AV高潮在线| 无码国产偷倩在线播放老年人| 黄色三级网站免费| 中文字幕久久精品波多野结| 男女猛烈无遮挡午夜视频| 欧美日韩第三页| 国产精品成人观看视频国产| 欧美性久久久久| 特级毛片免费视频| 国产精品va| 国产电话自拍伊人| 一区二区三区成人| 国产香蕉97碰碰视频VA碰碰看| 最新国产午夜精品视频成人| 超碰91免费人妻| 国产精品吹潮在线观看中文| 亚洲天堂网在线视频| 色噜噜狠狠狠综合曰曰曰| 精品黑人一区二区三区| 九九视频免费在线观看| 午夜丁香婷婷| 精品国产福利在线| 国产成熟女人性满足视频| 亚洲欧洲美色一区二区三区| 亚洲欧美极品| 国产精品无码在线看| 精品三级网站| 中文字幕无线码一区| 国产日韩AV高潮在线| 色偷偷一区| 伊人激情综合网| 亚洲日韩国产精品综合在线观看| 77777亚洲午夜久久多人| 国产在线观看成人91| 日本a∨在线观看| 免费一级毛片| 亚洲精品色AV无码看| 国产SUV精品一区二区6| 免费在线国产一区二区三区精品| 中文字幕一区二区人妻电影| 日韩午夜片| 欧美色视频日本| 日韩欧美综合在线制服| 亚洲自拍另类| 日韩欧美综合在线制服| 波多野结衣在线一区二区| 久久这里只有精品国产99| 久久精品无码中文字幕| 亚洲国产日韩视频观看| 亚洲精品自产拍在线观看APP| 狠狠躁天天躁夜夜躁婷婷| 国产日本欧美在线观看| 一级毛片在线播放| 永久免费无码成人网站| 欧美区一区二区三| 91久久偷偷做嫩草影院电| 久久99久久无码毛片一区二区| 精品无码人妻一区二区| 国产精选自拍| 日本免费a视频| 国产女人18毛片水真多1| 午夜不卡视频| 91免费观看视频| a级毛片在线免费| 国产成人精品高清在线| 思思热在线视频精品| 亚洲成av人无码综合在线观看| 特级做a爰片毛片免费69| 超清人妻系列无码专区| 又粗又硬又大又爽免费视频播放| 动漫精品中文字幕无码| 成人字幕网视频在线观看| 亚洲免费毛片|