亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Web的選課系統(tǒng)的設計與性能優(yōu)化

        2017-11-30 18:50:19許雯
        科技與創(chuàng)新 2017年16期
        關(guān)鍵詞:磁盤排隊內(nèi)存

        許雯

        (西安航空學院計算機學院,陜西西安710077)

        基于Web的選課系統(tǒng)的設計與性能優(yōu)化

        許雯

        (西安航空學院計算機學院,陜西西安710077)

        設計了基于Web系統(tǒng)的學生選課系統(tǒng),分析了當前一般院校采用的選課系統(tǒng)大都存在著在選課時期出現(xiàn)系統(tǒng)響應過慢甚至服務器宕機的問題,并分析出引起這種問題的主要因素在于大量請求時并發(fā)的內(nèi)存壓力,以及磁盤IO壓力。針對該問題提出了采用排隊機制,以及引入緩存服務的架構(gòu)方案來解決。最后通過仿真實驗可以看出,所提出的方案是可行并且有效的。

        選課系統(tǒng);Web;排隊模塊;Redis

        通過網(wǎng)絡進行選課是教學管理現(xiàn)代化建設的重要標志和應用之一[1]。很多高校都在開展促進教務體制改革,一些重點高校都在開發(fā)自己的教務系統(tǒng)[2]。選課系統(tǒng)是教務系統(tǒng)重要的一部分,文獻[3-4]都討論了針對自己高校的選課系統(tǒng)的設計與實現(xiàn)。

        選課系統(tǒng)由于其特殊性,往往在短時間內(nèi)產(chǎn)生大量的并發(fā)業(yè)務,過多的并發(fā)會對正常的業(yè)務造成影響沖擊。為了解決高校選課系統(tǒng)在選課時階段性高負載造成的“峰值堵塞”問題,眾多高校都開始研發(fā)自己的選課系統(tǒng)。文獻[5]從選課規(guī)則和選課算法、應用程序和數(shù)據(jù)庫設計以及引入服務器集群技術(shù)等方面對高校選課系統(tǒng)進行優(yōu)化,但是對于選課系統(tǒng)而言,服務器集群技術(shù)成本過高;文獻[6]提出了使用專用工具量化系統(tǒng)性能,并通過分析數(shù)據(jù)制訂相應的優(yōu)化策略,取得一定的效果,但是這個系統(tǒng)本身邏輯較為復雜,并且引入的第三方組件較多。本文完成了一種簡單的選課系統(tǒng)的設計方案,在不引入過多第三方組件,以及不增加硬件設備的條件下,通過使用Redis內(nèi)存數(shù)據(jù)庫及軟件設計出排隊模塊,以保證選課系統(tǒng)的正常運行。

        1 選課系統(tǒng)的設計

        選課系統(tǒng)由用戶管理模塊、課程管理模塊、學生選課模塊和排隊模塊構(gòu)成。

        1.1 用戶管理模塊

        用戶管理模塊的作用包含負責學生、管理員用戶的創(chuàng)建與維護,負責Web系統(tǒng)中所有用戶的登錄管理2個方面。管理員用戶由超級用戶來指定,學生用戶由管理員用戶創(chuàng)建維護。所有用戶登錄,都由該模塊進行登錄權(quán)限校驗。

        1.2 課程管理模塊

        課程管理模塊只是開發(fā)給管理員,由管理員進行課程的增刪改查。

        1.3 學生選課模塊

        學生選課包括以下功能:查詢當前所有課程的詳細情況,查詢指定課程的具體選擇情況,對指定一門課程進行選取,對自己所選課程進行增刪改查。

        1.4 排隊模塊

        排隊模塊用于解決在選課時由于大量學生同時發(fā)出選課請求造成系統(tǒng)癱瘓的問題。該模塊將用戶的每個請求放在一個隊列里面排隊,并給用戶返回一個估算的排隊時間。等到該用戶排到的時候,才進行真正的選課動作。

        2 關(guān)鍵技術(shù)解決方案

        一個Web站點的性能瓶頸大都是在用戶大量請求同時發(fā)出時產(chǎn)生的,大量的請求導致Web后臺工作繁忙,因此用戶發(fā)出請求的響應時間會大大延長。而用戶在感受到請求響應延遲過長時,往往會多次刷新頁面,重新發(fā)出請求,這樣一來,再一次增加Web服務器的壓力。這種壓力初期會造成響應過慢,而嚴重時會導致服務器宕機。Web服務器的壓力,實際就是CPU、網(wǎng)絡IO、內(nèi)存及硬盤IO的壓力。對于校園選課系統(tǒng)來講,由于其業(yè)務主要為對所選課程的增刪改查,并沒有大量的數(shù)據(jù)運算,對CPU的性能影響并不會太大,而一般情況下,Web系統(tǒng)的CPU都是處于欠飽和狀態(tài)。同時,由于校園網(wǎng)內(nèi)網(wǎng)因素,千兆網(wǎng)卡及學生規(guī)模,網(wǎng)絡IO也不會很容易出現(xiàn)問題。但是由于選課業(yè)務會頻繁觸發(fā),每一個請求實際上都是一次與數(shù)據(jù)庫的交互,進一步講就是磁盤的IO操作,磁盤IO實際上也往往是大多數(shù)應用場景的瓶頸所在。另外,每一次請求都會消耗內(nèi)存,大量的請求同時發(fā)出,內(nèi)存已經(jīng)不堪重負,而磁盤IO的瓶頸,所有處理被延時,導致內(nèi)存出現(xiàn)更大的壓力直至內(nèi)存溢出。因此,本文設計的系統(tǒng)主要解決以下2個問題。

        2.1 大量的并發(fā)請求

        大量的并發(fā)請求單機服務器本身并不能完全處理。對于選課系統(tǒng)的特殊性,每年只有2個選課峰值時段,其他時段并沒有多少流量,因此也沒有必要通過擴張硬件來解決。因此,通過設計一個軟件模塊來解決該問題是最好的方案。對于選課業(yè)務來講,本身業(yè)務請求的總量并不多,按照1萬個學生,每人10次PV(Page View)來算,總共是10萬次PV,請求總量并不大,但是這10萬次PV要是發(fā)生在1 min內(nèi),每秒1 666次PV,對于單機服務器來講自然是一個很大的規(guī)模。但是考慮到將這些請求放在10 min內(nèi)完成,那么每秒166次PV,完全是可行的。因此,設計出排隊模塊,每個用戶發(fā)出請求后會返回之前排隊的請求個數(shù)及等待時間,排隊期間不允許刷新頁面,否則會重新排隊。這樣一來,把1 min的請求峰值平均到10 min或者更久來解決這類問題。

        2.2 磁盤的IO

        磁盤IO在高負荷下運作時,會導致數(shù)據(jù)庫的工作性能急劇下降。因此,考慮如何減少選課業(yè)務本身造成的數(shù)據(jù)庫讀寫,將是解決問題的關(guān)鍵。對于每一個學生來講,其所關(guān)心的就是可選的課程有哪些,每一門課程的老師是誰,以及當前選了多少人。實際上,對于每一個學生來講,在查看公共課程選取狀態(tài)時,在沒有人確定觸發(fā)選課前,每個人得到的結(jié)果都是一樣的,如果我們將這部分信息放在內(nèi)存中,不進行磁盤IO操作,那么必然會大大提高性能。另外,學生發(fā)出的請求主要是反復讀取課程數(shù)據(jù)及選課數(shù)據(jù),并不會頻繁寫入,寫入操作我們交給關(guān)系型數(shù)據(jù)庫Mysql。我們引入Redis高性能內(nèi)存數(shù)據(jù)庫,它是一個key-value存儲系統(tǒng),我們設計每個課程名字作為key,課程選擇的結(jié)果作為value。用戶發(fā)出讀寫的請求都經(jīng)過Redis,并且由Redis自身的機制來保證線程安全。

        3 仿真結(jié)果

        本文設計的選課系統(tǒng)結(jié)構(gòu)為Html+Tomcat+Servlet+ Mysql+Redis,運行在4核CPU、16G內(nèi)存的服務器上,用apache-ab工具來進行壓力測試,用命令ab-n 10000-c 300 http://localhost/index.html,總共訪問http://localhost/index.html這個頁面10 000次,300次并發(fā)同時執(zhí)行,請求通過率為98.2%.可見,本文提出的方法是可行并且有效的。

        4 總結(jié)

        本文設計了一個高校學生選課的Web系統(tǒng),詳細分析了該系統(tǒng)當前存在的問題,并提出了通過排隊系統(tǒng)來解決單位時間內(nèi)大量請求可能出現(xiàn)的并發(fā)問題,通過延長請求處理周期,保證了服務器能夠正常、穩(wěn)定運行。同時,引入Redis緩存服務技術(shù),用來減少磁盤的IO操作,從而大大縮減請求時間,提高了用戶體驗。通過仿真可見,該設計方案是十分有效的,并且這種通過增加軟件模塊,而不增加硬件設備成本的設計方案是非常值得推薦的。

        [1]葉飛.Internet網(wǎng)絡選課系統(tǒng)設計與實現(xiàn)[J].沈陽師范大學學報(自然科學版),2004,22(4).

        [2]宣華,王映雪.清華大學綜合教務系統(tǒng)在教務管理中的應用[J].計算機工程與應用,2002,38(12).

        [3]李帥,黃克敏,楊義,等.高校學生選課系統(tǒng)的研究與設計[J].電腦知識與技術(shù),2017(9).

        [4]范會聯(lián),張玉芳.基于JSF+Spring+Hibernate集成架構(gòu)的Web信息系統(tǒng)設計[J].計算機技術(shù)與發(fā)展,2007,17(3).

        [5]潘旭武,陳啟華,張建勇.高校選課系統(tǒng)性能優(yōu)化研究[J].中國教育信息化,2013(5).

        [6]文捷,吳慶杰,陳翼,等.復旦大學選課系統(tǒng)的性能優(yōu)化策略研究和實踐[J].中山大學學報(自然科學版),2009,48(s1).

        〔編輯:劉曉芳〕

        G647;TP311.52

        :A

        10.15913/j.cnki.kjycx.2017.16.127

        2095-6835(2017)16-0127-02

        許雯(1988—),女,陜西乾縣人,碩士,研究方向為計算機圖形學。

        猜你喜歡
        磁盤排隊內(nèi)存
        怎樣排隊
        解決Windows磁盤簽名沖突
        電腦愛好者(2019年2期)2019-10-30 03:45:31
        “春夏秋冬”的內(nèi)存
        當代陜西(2019年13期)2019-08-20 03:54:22
        修改磁盤屬性
        巧排隊列
        三角龍排隊
        學生天地(2018年18期)2018-07-05 01:51:42
        磁盤組群組及iSCSI Target設置
        創(chuàng)建VSAN群集
        基于內(nèi)存的地理信息訪問技術(shù)
        上網(wǎng)本為什么只有1GB?
        久久aⅴ无码一区二区三区| 又黄又爽又色视频| 国产香蕉国产精品偷在线| 亚洲av无码专区亚洲av| 国产av无码专区亚洲aⅴ| 国产精品综合女同人妖| 国产日韩精品suv| 亚洲欧美日韩一区二区三区在线| 亚洲 欧美 激情 小说 另类| 亚洲一区二区三区av无| av在线免费观看蜜桃| 亚洲精品美女久久久久99| 无码人妻AⅤ一区 二区 三区| 一本色道久久88综合亚精品| 国产禁区一区二区三区| 少妇下蹲露大唇无遮挡| 狠狠躁夜夜躁AV网站中文字幕| 亚洲无av高清一区不卡| 午夜dv内射一区二区| 国产免费成人自拍视频| 国产精品无码人妻在线| 久久久久久久综合狠狠综合| 狠狠色噜噜狠狠狠狠97俺也去| 加勒比久久综合久久伊人爱| 狼狼综合久久久久综合网| 精品久久久久久久无码| 中文字幕日本人妻一区| 亚洲乱码av乱码国产精品| 久久不见久久见中文字幕免费| 98色花堂国产精品首页| 美女偷拍一区二区三区| 国产情侣一区二区三区| 亚洲乱亚洲乱少妇无码99p| 国产精品久久久亚洲第一牛牛| 伊人久久亚洲精品中文字幕| 国产精品久久久久精品一区二区| 无遮挡亲胸捏胸免费视频| 一本久道久久综合狠狠操| 国产亚洲av另类一区二区三区| 国产成人久久精品激情| 人妻有码中文字幕在线不卡|