国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

清華大學(xué)儀器共享平臺(tái)性能優(yōu)化實(shí)踐

2016-04-13 13:19:55梁思率楊樹(shù)國(guó)
關(guān)鍵詞:視圖服務(wù)器數(shù)據(jù)庫(kù)

梁思率, 王 臻, 楊樹(shù)國(guó)

(1. 清華大學(xué) 計(jì)算機(jī)與信息管理中心, 北京 100084; 2. 清華大學(xué) 實(shí)驗(yàn)室與設(shè)備處, 北京 100084)

?

清華大學(xué)儀器共享平臺(tái)性能優(yōu)化實(shí)踐

梁思率1, 王臻1, 楊樹(shù)國(guó)2

(1. 清華大學(xué) 計(jì)算機(jī)與信息管理中心, 北京100084; 2. 清華大學(xué) 實(shí)驗(yàn)室與設(shè)備處, 北京100084)

清華大學(xué)儀器設(shè)備共享平臺(tái)在學(xué)校提供的負(fù)載均衡硬件架構(gòu)F5以及開(kāi)源負(fù)載均衡軟件架構(gòu)shiro + ehcache + quartz的session同步、緩存同步、定時(shí)任務(wù)分布式調(diào)度管理下,綜合運(yùn)用各種數(shù)據(jù)庫(kù)優(yōu)化技術(shù)、服務(wù)端優(yōu)化技術(shù)、前端優(yōu)化技術(shù)提升了系統(tǒng)訪問(wèn)速度。實(shí)踐證明,這套方案是有效的。

儀器設(shè)備管理; 負(fù)載均衡;物化視圖; SQL優(yōu)化

清華大學(xué)儀器設(shè)備共享系統(tǒng)的用戶數(shù)量級(jí)是5萬(wàn)個(gè)左右,包括來(lái)自校內(nèi)200多個(gè)實(shí)驗(yàn)室的用戶以及部分校外用戶,管理大型儀器設(shè)備數(shù)千臺(tái),每年要進(jìn)行一次設(shè)備效益評(píng)價(jià)統(tǒng)計(jì)工作。此外,還要開(kāi)發(fā)手機(jī)端應(yīng)用,以滿足未來(lái)更多用戶的需求。因此,對(duì)系統(tǒng)性能的要求就提升到了一個(gè)很重要的層面。不同于一般業(yè)務(wù)系統(tǒng),它要求快速響應(yīng),對(duì)于大數(shù)據(jù)的處理和查詢要做到盡可能實(shí)時(shí),是一個(gè)典型的性能優(yōu)化案例。通常,負(fù)載均衡是一個(gè)好的策略,此外,還要根據(jù)性能瓶頸的來(lái)源,逐個(gè)進(jìn)行優(yōu)化。

1 Web系統(tǒng)響應(yīng)時(shí)間模型

我們主要對(duì)Web系統(tǒng)進(jìn)行優(yōu)化,這里面比較重要的指標(biāo)包括響應(yīng)時(shí)間、吞吐率、資源利用率等。響應(yīng)時(shí)間是其中最重要的一個(gè)指標(biāo),它直接面向用戶,關(guān)系到用戶體驗(yàn)。對(duì)于一個(gè)等待時(shí)間較長(zhǎng)的頁(yè)面,用戶是沒(méi)有耐心去使用的。因此,我們先對(duì)響應(yīng)時(shí)間建立模型[1-3]:

(1)

T表示系統(tǒng)響應(yīng)時(shí)間由網(wǎng)絡(luò)傳輸時(shí)間Tweb、客戶端響應(yīng)時(shí)間Tc和服務(wù)器響應(yīng)時(shí)間Ts3部分組成。對(duì)它進(jìn)一步進(jìn)行細(xì)化得出影響因子模型如下[4]:

T≈payload/bandwidth+RTT×n/portNum+

(2)

其中:payload是數(shù)據(jù)傳輸量,bandwidth是網(wǎng)絡(luò)帶寬,它們是Tweb的部分;RTT是網(wǎng)絡(luò)延時(shí)和建立連接耗時(shí),n是資源請(qǐng)求數(shù)量(這里的資源指js、css、image等靜態(tài)資源),portNum是并行端口數(shù),T渲染是頁(yè)面渲染時(shí)間,它們是Tc的部分;Nvu是每臺(tái)服務(wù)器的并發(fā)用戶數(shù),Tsql是數(shù)據(jù)庫(kù)操作耗時(shí),Tserver是服務(wù)器緩存及代碼的執(zhí)行時(shí)間,它們是Ts的部分。這就為我們進(jìn)一步優(yōu)化提供了依據(jù)。

由公式(2)可見(jiàn),Tweb部分的bandwidth是由網(wǎng)絡(luò)環(huán)境決定的,它不由我們控制,在清華大學(xué)采用的就是清華校園網(wǎng),而payload部分是可控的,我們可以通過(guò)壓縮靜態(tài)文本資源、壓縮圖片、設(shè)置瀏覽器緩存的方式減少數(shù)據(jù)下載量,相關(guān)優(yōu)化技術(shù)可參考前端優(yōu)化。

Tc部分的RTT可通過(guò)設(shè)置HTTP的Keep-Alive功能加以減少,n可通過(guò)合并js、css文件、將小圖片集成到一張大圖中的方式加以減少,portNum和瀏覽器解析域名有關(guān),一般不加以調(diào)整,T渲染可通過(guò)頁(yè)面靜態(tài)化技術(shù)、ajax技術(shù)加以減少。

Ts部分的Nvu可通過(guò)負(fù)載均衡技術(shù)加以減少,Tsql可通過(guò)各種數(shù)據(jù)庫(kù)優(yōu)化技術(shù)加以減少,Tserver可通過(guò)服務(wù)器緩存、程序代碼優(yōu)化技術(shù)、前端計(jì)算代替服務(wù)端計(jì)算的方式加以減少,此外,Tsql和Tserver還可以通過(guò)跟蹤用戶使用習(xí)慣有針對(duì)性的加以優(yōu)化。

2 負(fù)載均衡

對(duì)于分布式文件存取和數(shù)據(jù)挖掘一般采用計(jì)算集群,如spark,而對(duì)于高校內(nèi)部的業(yè)務(wù)系統(tǒng)一般采用Web集群,如開(kāi)源的shiro + ehcache + quartz框架,或者商業(yè)的Terracotta框架。由于預(yù)算的原因,我們采用的是開(kāi)源框架。其中,集群緩存同步策略是采用Ehcache[5-8],關(guān)于它的配置已經(jīng)有了大量的說(shuō)明。而集群定時(shí)任務(wù)調(diào)度則是采用Quartz[9],它可以避免重復(fù)執(zhí)行已經(jīng)執(zhí)行過(guò)的定時(shí)任務(wù),同時(shí)保證定時(shí)任務(wù)均勻地分配到各臺(tái)服務(wù)器上,達(dá)到負(fù)載均衡,關(guān)于它的設(shè)置也有說(shuō)明。而用戶session同步則是采用Shiro權(quán)限框架,通過(guò)一定的spring配置,將session放到Ehcache緩存中進(jìn)行管理,而Ehcache是有集群同步策略的,這就使session也實(shí)現(xiàn)了同步。

由于會(huì)話保持技術(shù)的存在,一個(gè)用戶一般只能登錄一臺(tái)服務(wù)器,除非長(zhǎng)時(shí)間登錄,否則session同步在大部分時(shí)間里是不需要的。此外,如果沒(méi)有在用戶之間共享全局緩存讀寫(xiě),緩存同步也是不需要的,只需要定期從數(shù)據(jù)庫(kù)同步即可。對(duì)于這樣的系統(tǒng),一般只存在定時(shí)任務(wù)的同步,如果單獨(dú)上一個(gè)quartz框架可能需要在運(yùn)維的時(shí)候按一定順序執(zhí)行不同服務(wù)器上的不同java函數(shù),這樣的操作是繁瑣的,有一種替代的辦法是讀寫(xiě)配置文件,不同服務(wù)器設(shè)置不同的開(kāi)關(guān)參數(shù),控制定時(shí)任務(wù)的執(zhí)行與禁止,使得定時(shí)任務(wù)只被一臺(tái)服務(wù)器執(zhí)行,而損失的只是負(fù)載分配和調(diào)度的功能,這對(duì)少量的服務(wù)器集群(2~4臺(tái))是可以接受的。

3 前端優(yōu)化

3.1壓縮圖片、css、js文件的大小

文本資源壓縮一般采用Gzip算法,這在傳輸時(shí)可以節(jié)省大量的帶寬,對(duì)于圖片、文件、css、js都可以采用這種方式傳輸,此外還有將多張小圖片集成到一張大圖,盡可能傳輸壓縮后的小圖而讓大圖在詳細(xì)頁(yè)展示,用工具將js進(jìn)行壓縮和混淆,精簡(jiǎn)合并css等[4],這已被谷歌等互聯(lián)網(wǎng)巨頭大量采用,并且已成為前端開(kāi)發(fā)的流行規(guī)范,有助于降低瀏覽器加載時(shí)間。

3.2頁(yè)面靜態(tài)化

這和緩存的思路是類似的,對(duì)于經(jīng)常訪問(wèn)但又變化不大的頁(yè)面,如果內(nèi)容較多、有較多的數(shù)據(jù)庫(kù)訪問(wèn),則采用頁(yè)面靜態(tài)化并定期更新不失為一個(gè)好的思路,這可以減少瀏覽器渲染的時(shí)間。

3.3Ajax

Ajax技術(shù)是一種比較成熟的技術(shù),對(duì)于我們開(kāi)發(fā)的前端系統(tǒng),基本90%以上的服務(wù)器訪問(wèn)都是采用這種技術(shù),除了少量的大表單提交。局部刷新技術(shù)可以有效緩解頁(yè)面刷新帶來(lái)的數(shù)據(jù)傳輸壓力,減少了數(shù)據(jù)傳輸量,降低了網(wǎng)絡(luò)傳輸時(shí)間。

4 Java程序的優(yōu)化

除了負(fù)載均衡框架保證了分布式系統(tǒng)邏輯上的正確性,以及多個(gè)服務(wù)器帶來(lái)的性能提升以外,對(duì)程序本身的優(yōu)化也是非常重要的。對(duì)于Java后臺(tái)程序,常見(jiàn)的優(yōu)化措施有很多種,對(duì)程序的編碼要求也很高,經(jīng)過(guò)我們測(cè)試,真正影響性能的有如下幾種。

4.1緩存

我們?cè)谂袛嗌蠙C(jī)預(yù)約權(quán)限(也包括送樣預(yù)約和直接登記預(yù)約)的時(shí)候采用了大量多維度的權(quán)限驗(yàn)證,這些驗(yàn)證操作要訪問(wèn)大量的數(shù)據(jù)庫(kù),如查黑名單、白名單、儀器規(guī)則設(shè)置、實(shí)驗(yàn)室規(guī)則設(shè)置、校內(nèi)外主用戶余額等,如果能將這些計(jì)算提前計(jì)算好放在用戶session里,或者一次計(jì)算處處采用下次判斷能從session里及時(shí)獲得以前的計(jì)算結(jié)果,則性能將大大提升。實(shí)際上,我們是將一部分權(quán)限計(jì)算放在了登錄環(huán)節(jié),還有一部分權(quán)限計(jì)算雖然放在了各個(gè)權(quán)限判斷的調(diào)用函數(shù)里,但都做了session緩存,下次同一個(gè)用戶再進(jìn)行預(yù)約的時(shí)候就不需要重復(fù)進(jìn)行計(jì)算了。此外,在某臺(tái)儀器的預(yù)約日歷載入的時(shí)候,一般我們是從數(shù)據(jù)庫(kù)一次性載入1周的日歷,數(shù)量級(jí)在500個(gè)左右,有時(shí)用戶量大的時(shí)候每個(gè)人都做這樣的操作,會(huì)導(dǎo)致性能下降。我們可以做一個(gè)啟動(dòng)定時(shí)任務(wù),將所有儀器設(shè)備(大約2 000臺(tái))的當(dāng)前周日歷全部放在緩存中,當(dāng)周切換的時(shí)候及時(shí)更新這些數(shù)據(jù),如果有用戶做了預(yù)約的增刪改查操作也及時(shí)地更新緩存里的數(shù)據(jù),這樣就可以使性能提升。而需要注意的是在集群下一定要做緩存同步,避免數(shù)據(jù)不一致。

4.2For循環(huán)

For循環(huán)是一個(gè)很容易被人忽略的環(huán)節(jié),而這個(gè)地方往往是大量消耗性能的。比如在For循環(huán)里再寫(xiě)sql、new變量、反復(fù)調(diào)用同一個(gè)函數(shù)而不是將它的返回結(jié)果提前儲(chǔ)存起來(lái)等等。循環(huán)寫(xiě)sql是非常消耗資源的,應(yīng)極力避免,一般得通過(guò)一定的轉(zhuǎn)化變?yōu)橐粭lsql。循環(huán)New變量是一個(gè)編程習(xí)慣問(wèn)題,會(huì)導(dǎo)致GC大量的被調(diào)用最后造成內(nèi)存溢出,類似不關(guān)閉connection、不關(guān)閉io這樣的問(wèn)題,應(yīng)統(tǒng)一放在循環(huán)外面,只調(diào)用一個(gè)變量。循環(huán)中用到的重復(fù)函數(shù)結(jié)果也應(yīng)該提前存儲(chǔ)在變量里,避免額外的開(kāi)銷。此外,try-catch模塊也不能放在循環(huán)里,必須放在外面??傊?對(duì)循環(huán)的優(yōu)化是java優(yōu)化的重要環(huán)節(jié),畢竟它涉及到復(fù)雜度的問(wèn)題。

4.3前端計(jì)算

我們可以把大量繁瑣的計(jì)算放在前端js里,即富客戶端,讓每個(gè)客戶的瀏覽器去執(zhí)行,這有效的緩解了服務(wù)器的計(jì)算壓力,這種優(yōu)化方式跳出了純粹優(yōu)化服務(wù)端的思維定勢(shì),是一種比較有效的辦法。比如日歷控件的月、周、日視圖切換就可以采用這種技術(shù),服務(wù)器1次加載1個(gè)月的日歷,由前端瀏覽器js根據(jù)當(dāng)前視圖時(shí)間范圍決定顯示的范圍。

4.4跟蹤用戶使用習(xí)慣

在我們還不太了解用戶使用習(xí)慣的時(shí)候需要采用一定的辦法去實(shí)時(shí)地跟蹤用戶的使用情況[9],這樣可以做到有的放矢,有針對(duì)性的優(yōu)化那些熱門(mén)的模塊和功能。我們采用的是用一個(gè)filter攔截器記錄所有的用戶訪問(wèn)url次數(shù)和執(zhí)行時(shí)間,對(duì)于桌面端和手機(jī)端都做這樣的跟蹤,從中我們可以看出哪些是需要馬上進(jìn)行優(yōu)化的,哪些使用的用戶量少可以先放一放。此外,對(duì)于Java內(nèi)存泄漏還可以采用Jprofiler工具進(jìn)行跟蹤,壓力測(cè)試可以采用開(kāi)源的Jmeter或者商業(yè)的Loadrunner工具進(jìn)行。

5 數(shù)據(jù)庫(kù)的優(yōu)化

數(shù)據(jù)庫(kù)優(yōu)化則更是一個(gè)被討論了無(wú)數(shù)次的話題[10-12],但真正能用好卻不容易,我們?cè)趯?shí)踐中總結(jié)了以下幾點(diǎn),作為重點(diǎn)考慮的策略。

5.1物化視圖

有一種特殊的視圖是物化視圖[2],它可以生成物理表,當(dāng)引用的表數(shù)據(jù)有更新的時(shí)候,它也可以觸發(fā)更新,或者定時(shí)更新。對(duì)于數(shù)據(jù)變化量不大而又有大量聯(lián)立操作的視圖比如人員、儀器、定制的組合列表頁(yè)面等,可以采用物化視圖。物化視圖的sql語(yǔ)句并不復(fù)雜,一般10個(gè)以內(nèi)的物化視圖都不會(huì)影響數(shù)據(jù)庫(kù)性能,這就大大降低了我們系統(tǒng)的數(shù)據(jù)庫(kù)負(fù)載,提高了訪問(wèn)速度。

5.2分割歷史表

在高校往往積累了10幾年的業(yè)務(wù)系統(tǒng)數(shù)據(jù),這些數(shù)據(jù)在io的時(shí)候不可能從所有的數(shù)據(jù)中進(jìn)行查詢,而要區(qū)分最新數(shù)據(jù)(當(dāng)年或當(dāng)月)和歷史數(shù)據(jù),分別存放在不同的表內(nèi),這樣才能提高檢索性能。對(duì)于預(yù)約數(shù)據(jù)也得采用這樣的策略,當(dāng)歷史數(shù)據(jù)積累得多了以后,比如10年以上,對(duì)數(shù)據(jù)的檢索就必須采用歷史表和當(dāng)前表的方式。

5.3取消聯(lián)立大表

視圖或sql中往往無(wú)意識(shí)地聯(lián)立了一些大表,比如人員表(清華有幾十萬(wàn)人員的歷史數(shù)據(jù)),有時(shí)還聯(lián)立了不止1次,比如預(yù)約視圖調(diào)用了從用戶的聯(lián)系方式和主用戶的聯(lián)系方式。這些相對(duì)不重要的數(shù)據(jù)可以在頁(yè)面端實(shí)時(shí)獲得,比如通過(guò)點(diǎn)擊ajax展示詳細(xì)頁(yè)獲取聯(lián)系方式,這種時(shí)間上分散加載的方式也能大大提高系統(tǒng)性能。

5.4設(shè)置冗余字段

對(duì)于人員數(shù)據(jù)、儀器數(shù)據(jù)這樣的字段每個(gè)表幾乎都要用,如果都采用聯(lián)立的方式獲得勢(shì)必造成大量的數(shù)據(jù)庫(kù)性能消耗,因此對(duì)于較穩(wěn)定的字段比如用戶名、用戶姓名等可以作為冗余字段放在表里,而不需要再去聯(lián)立獲得了,雖然這不符合數(shù)據(jù)庫(kù)范式,但卻提高了系統(tǒng)的相應(yīng)速度,是一種靈活的策略。

5.5設(shè)置索引

索引的重要性毋庸置疑,對(duì)于where語(yǔ)句、連接語(yǔ)句中大量用到的字段要做索引,索引的總數(shù)每個(gè)表不易超過(guò)5個(gè),但這也不絕對(duì),對(duì)于有大量字段的復(fù)雜表一般我們最多使用6~7個(gè)應(yīng)該也沒(méi)有問(wèn)題。對(duì)于會(huì)繞開(kāi)索引的sql語(yǔ)句要極力避免,比如is null/is not null要用非空或default字段代替,or要用union代替,<>要用>或<代替,盡量少用like和sql函數(shù),因?yàn)樗鼈儾粫?huì)使用索引。

5.6避免*查詢

這是一個(gè)經(jīng)常被忽略的問(wèn)題,但是在實(shí)際應(yīng)用中我們發(fā)現(xiàn),它造成了很大的性能損耗。比如我們的預(yù)約表有40多個(gè)字段,用*查詢會(huì)大量消耗性能,如果只對(duì)需要的字段單獨(dú)構(gòu)造視圖,則會(huì)減少好幾倍的查詢時(shí)間。

5.7SQL優(yōu)化

對(duì)于sql優(yōu)化的討論已有大量的說(shuō)明,而在我們的系統(tǒng)中應(yīng)用也起到了立竿見(jiàn)影的效果。比如統(tǒng)計(jì)模塊,需要從多個(gè)維度、多個(gè)角色、多個(gè)字段對(duì)一個(gè)主題進(jìn)行統(tǒng)計(jì),這時(shí)查詢的性能就顯得尤為重要。否則一個(gè)統(tǒng)計(jì)操作就需要好幾分鐘甚至1小時(shí),就不符合系統(tǒng)的需要。統(tǒng)計(jì)主要是面向系統(tǒng)管理員、實(shí)驗(yàn)室管理員、儀器管理員、主用戶、從用戶查閱自己管理范圍的數(shù)據(jù)匯總或測(cè)試記錄明細(xì)。系統(tǒng)的難點(diǎn)在于要同時(shí)返回針對(duì)多個(gè)查詢項(xiàng)(儀器、實(shí)驗(yàn)室、主用戶或從用戶)的幾十個(gè)數(shù)據(jù)匯總時(shí),交叉起來(lái)可能會(huì)到上萬(wàn)個(gè)數(shù)據(jù)量級(jí)的計(jì)算結(jié)果的獲得。為了減少查詢時(shí)間,在寫(xiě)sql的時(shí)候盡量用一條sql語(yǔ)句返回多條結(jié)果,包括多個(gè)查詢項(xiàng)的和多個(gè)數(shù)據(jù)匯總項(xiàng)的結(jié)果,可以多用group by,在遇到實(shí)驗(yàn)室繼承的情況時(shí)還得巧用start with,避免遞歸循環(huán)次數(shù)過(guò)多,可以將每次查詢時(shí)間控制在幾秒以內(nèi)。對(duì)于繼承或非繼承、不同的角色和匯總/明細(xì)的組合、開(kāi)始時(shí)間和結(jié)束時(shí)間約束的組合還得寫(xiě)多份sql。這里面涉及到很多sql組合的技巧,只能在實(shí)踐中慢慢體會(huì),而比較基本的包括:用exists替換in、where語(yǔ)句將縮減范圍作用大的放在前面、直接用字符串名稱定義規(guī)則代替遞歸查詢、用group by代替distinct等。

6 應(yīng)用效果和結(jié)論

采用了負(fù)載均衡和各種前后端優(yōu)化技術(shù)后的清華大學(xué)儀器設(shè)備共享系統(tǒng)性能有了很大提高。我們對(duì)系統(tǒng)架構(gòu)進(jìn)行了升級(jí),使得其能夠支持緩存和session同步,以及定時(shí)任務(wù)的分布式調(diào)度,滿足了大部分的要求。進(jìn)一步根據(jù)業(yè)務(wù)系統(tǒng)開(kāi)發(fā)積累下來(lái)的經(jīng)驗(yàn),對(duì)程序代碼進(jìn)行了深度優(yōu)化,主要包括Java后臺(tái)程序和數(shù)據(jù)庫(kù)操作兩個(gè)方面。經(jīng)過(guò)我們的優(yōu)化,系統(tǒng)各個(gè)模塊能夠順利運(yùn)行,并且絕大部分都能在短時(shí)間內(nèi)返回應(yīng)有的結(jié)果,提高了用戶體驗(yàn)。這也便于進(jìn)一步的手機(jī)端開(kāi)發(fā)等需要快速響應(yīng)的場(chǎng)合,在什么都需要短平快的今天,儀器共享系統(tǒng)也通過(guò)它的不斷實(shí)踐朝著這個(gè)方向邁進(jìn)。

References)

[1] 張紅光. 基于軟件性能測(cè)試的Web系統(tǒng)響應(yīng)時(shí)間優(yōu)化研究[D]. 北京: 北京林業(yè)大學(xué), 2010

[2] 劉乃嘉, 彭宇, 王鑫, 等. 清華大學(xué)網(wǎng)上選課性能優(yōu)化研究與實(shí)踐[J]. 實(shí)驗(yàn)技術(shù)與管理, 2011, 28(5), 247-278

[3] 王鑫, 苗春雨, 袁芳. Web應(yīng)用性能評(píng)測(cè)的研究與應(yīng)用[J]. 實(shí)驗(yàn)技術(shù)與管理, 2008, 25(8), 15-19.

[4] 王成, 李少元, 鄭黎曉, 等. Web前端性能優(yōu)化方案與實(shí)踐[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2014, 31(12), 89-147

[5] 蘇昊. JavaEE網(wǎng)站性能優(yōu)化技術(shù)研究[D]. 北京: 北京郵件大學(xué), 2014

[6] 宗蓮松, 潘華, 肖毅. 可擴(kuò)展式教務(wù)信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 實(shí)驗(yàn)技術(shù)與管理, 2010, 27(12), 128-132

[7] 李社河. Apache shiro集群實(shí)現(xiàn) [EB/OL]. (2015-04-23). http://blog.csdn.net/ lishehe/article/details/45218251.

[8] 劉柄成. 深入探討在集群環(huán)境中使用 EhCache 緩存系統(tǒng)[EB/OL]. (2010-04-01). http:// www.ibm.com/developerworks/cn/java/j-lo-ehcache/.

[9] 百度文庫(kù). Quartz集群配置[EB/OL].(2012-04-03). http://wenku.baidu.com/.

[10] 老K. 數(shù)據(jù)庫(kù)性能優(yōu)化一:數(shù)據(jù)庫(kù)自身優(yōu)化(大數(shù)據(jù)量)[EB/OL].(2012-12-25). http://www. cnblogs.com/AK2012/archive/2012/12/25/2012-1228.html.

[11] 老K. 數(shù)據(jù)庫(kù)性能優(yōu)化二:數(shù)據(jù)庫(kù)表優(yōu)化[EB/OL]. (2012-12-28). http://www.cnblogs.com/ AK2012/archive/2012/12/28/2012-122802.html.

[12] 老K. SQL索引一步到位(此文章為“數(shù)據(jù)庫(kù)性能優(yōu)化二:數(shù)據(jù)庫(kù)表優(yōu)化”附屬文章之一)[EB/OL].(2013-01-04). http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html.

Practice of performance optimization for Tsinghua University instrument sharing platform

Liang Sishuai1, Wang Zhen1, Yang Shuguo2

(1. Center of Computer and Information Management, Tsinghua University, Beijing 100084, China;2. Office of Laboratories and Facilities, Tsinghua University, Beijing 100084, China)

Tsinghua University instrument sharing platfom uses F5 as load balancing hardware architecture and shiro + ehcache + quartz as load balancing software architecture, which realizes session synchronization, cache synchronization and timed task distributed scheduling, and uses all kinds of database, server and client optimization technology to promote the access speed. This scheme has proved that it is effective in practice.

management of instruments and equipment; load balancing; materialized view; SQL optimization

DOI:10.16791/j.cnki.sjg.2016.04.066

2015- 09- 06

梁思率(1984—),男,浙江杭州,碩士,工程師,研究方向:高校信息化.

E-mail:liangss@tsinghua.edu.cn

G482;TP311.1

B

1002-4956(2016)4- 0235- 04

猜你喜歡
視圖服務(wù)器數(shù)據(jù)庫(kù)
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
5.3 視圖與投影
視圖
Y—20重型運(yùn)輸機(jī)多視圖
SA2型76毫米車載高炮多視圖
數(shù)據(jù)庫(kù)
得形忘意的服務(wù)器標(biāo)準(zhǔn)
計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
沽源县| 盐亭县| 夏河县| 苗栗县| 克拉玛依市| 万源市| 阳原县| 阳春市| 永清县| 双牌县| 红河县| 报价| 余姚市| 永顺县| 四川省| 金平| 敦化市| 莒南县| 项城市| 武城县| 虎林市| 互助| 昆明市| 宣汉县| 应城市| 葫芦岛市| 曲麻莱县| 东方市| 福建省| 陇南市| 德兴市| 浮山县| 文化| 卢氏县| 肥东县| 昭平县| 和静县| 台州市| 平阳县| 寿宁县| 新建县|