大数据环境下网上选课系统能效优化研究

2016-10-31 18:42刘劲松
电脑知识与技术 2016年22期
关键词:大数据优化

刘劲松

摘要:为了解决我校选课系统在选课时阶段性高负载造成的“峰值堵塞”问题,该文采用大数据分析方法,基于云计算技术和海量数据的支撑,以我校综合教务系统为例,对数据库进行多方面的性能调整,并对WEB端进行负载均衡配置,最大程度地优化大数据环境下的网上选课系统,使资源消耗明显降低,提高运行效率,缩短系统响应时间。

关键词:大数据;选课系统;优化

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)22-0001-02

1 高校大数据发展现状

目前高校大多还处于大数据应用的原始阶段,在实际应用中出现越来越多的非结构化数据,结构化数据在信息化校园数据中心的存储已不能满足应用需求,这样对数据分析和挖掘技术的要求很高,需要系统设计,谨慎操作。大数据在高校有着美好的应用前景,但数据隐私、数据分析方法有待改进和数据集成困难等问题是目前主要的应用难点,需要进一步建立收集、分析和教育决策的实践体系,以使大数据在高校中的价值得到最大限度的发挥。

2 选课系统的复杂性

目前我校本部校区、新校区、医学部校区的主要区域已实万兆主干,千兆到桌面的网络连接。教务系统服务器、学生选课机房均在校园网内,校园网带宽满足选课需求,选课期间教务系统登录缓慢主要问题还是集中在教务系统本身的软硬件方面。我校每个学期末为选课阶段,即每年的6月底至7月中,12月底至1月中,每次选课(包括预选、正选)共15天左右,选课时间相对集中,给系统带来了很大的数据流量,造成系统压力过大。同时,近几年在校学生数量有了很大的增长,在集中选课阶段,系统并发连接数急剧增多,极大加重了数据库负荷,给选课系统也带来不小的冲击。而对于学生的操作,系统必须能响应快速,这样就对选课系统的实时性有了更高的要求。

软硬件的性能直接影响到选课系统的能效,诸如服务器运转时间过长、负荷重、硬件老化严重等。而系统本身设计问题也需注意,比如,现在运行系统是针对Window 2000/XP操作系统和JAVA 5.0环境而设计,和当下广泛使用的Window7 64位操作系统以及JAVA8.0环境存在兼容性问题,造成部分浏览器响应缓慢。

3 大数据环境下选课系统能效优化

3.1 优化SQL语句

在数据库实际应用中,经常会出现全表扫描操作。若优化使用索引的SQL语句,选课系统能效几乎没有改善,所以重点是优化不含索引的字段。为了缩短查询语句的响应时间,要合理建立存储过程,尽量不进行表扫描等。选课系统数据库中含有大量数据表,Oracle要对这些表进行并序连接。Oracle对FROM中数据表的扫描顺序是:首先最后的数据表,其次第二个,依次进行,若发现经扫描过的第一个和第二个数据表中含有能被合并的记录,则进行合并操作。若连接查询多个表,则首先指定基础表,即被其他表引用的交叉表,然后重复进行。

在优化SQL语句时,要按以下规则进行:①不使用或尽量少使用select * 语句,必须指定好所需查询的列。这样避免进行全表扫描导致的系统性能下降。②合理使用where及order by语句。若字段中已建立索引,则可使用Order by,并对其字段个数进行限制, 这样可降低系统的资源消耗。③若表中记录较多,要注意不使用select distinct 语句,因为它要先对表中每一行记录进行查询之后,再进行重复记录集的刷选。

3.2 WEB端优化

要优化RESIN的启动参数,在webserver路径下配置四个resin,进行负载均衡。扩充原有VMware云服务器平台,完成虚拟服务及部分存储设备更新,扩大服务范围,增强数据安全保障。目前云平台CPU资源超过100个,内存资源4.7T,存储资源裸容量500T,在网云服务器192个,能够为我校教学、科研及行政管理提供有力支撑。通过云服务器平台为校内多个单位提供云服务器应用,为学校网站群、应用系统、教学资源平台、图书资源站点、微信平台、虚拟仿真平台、共享实验平台等各类应用提供了稳定可靠、资源管理灵活、可扩展可伸缩的资源管理模式。

-server//服务器模式

-Xmx2g //JVM最大允许分配的堆内存,按需分配

-Xms2g //JVM初始分配的堆内存,一般和Xmx配置成一样以避免每次gc后JVM重新分配内存

-Xmn256m //年轻代内存大小

-XX:PermSize=128m //持久代内存大小

-Xss256k //设置每个线程的堆栈大小

-XX:+DisableExplicitGC //忽略手动调用GC,System.gc()的调用就会变成一个空调用,完全不触发GC

-XX:+UseConcMarkSweepGC //并发标记清除(CMS)收集器

-Xmn和-Xmx之比大概是1:9,如果把新生代内存设置得太大会导致young gc时间较长。一个好的Web系统应该是每次http请求申请内存都能在young gc回收掉,full gc永不发生,当然这是最理想的情况。xmn的值应该是保证够用(够http并发请求之用)的前提下设置得尽量小。web服务器xmn和Xmx大概1:3的关系,在保持一定的并发量后需要较大的年轻代堆内存,如果设置得大小了会经常引发young gc。

3.3 Web Service优化

借助Web Service技术建立数据交换机制,通过服务的请求和调用实现异构系统间的数据交换。在网上选课系统能效优化过程中采用基于XML的数据交换方式,有效地实现了异构资源的数据交换。Web Service包含三个要素:SOAP(Simple Object Access Protoca1,简单对象访问协议)、WSDL (Web Services Description Language,Web服务描述语言)、UDDI( Universal Description Discovery and Integration,通用描述、发现与集成服务),而Web Service使用SOAP作为通信标准,并且SOAP能够穿透防火墙,当应用程序通过SOAP调用服务时,便提供外界标准的服务接口。使用C#编程语言进行Web Service的设计,在调用Web Service之前,应用程序要根据WSDL服务描述文档中的信息,生成一个SOAP请求。这个请求随即被嵌入到HTTP POST中,然后发送到Web服务器(Web Service部署在IIS的后面),经由Web Service请求处理器的解析,生成相应的SOAP响应消息,并把应答信号反馈给Web服务器。

3.4 性能调整和I/O优化

针对选课系统运行过程中所涉及的参数进行优化配置。主要涉及Oracle数据库中SHARRED_POOL_SIZE、DB_CASHE_SIZE、SGA_MAX_SIZE、PGA_AGGREGATF_TARGET四个参数,对这四个参数进行合理设置,将大幅优化数据库能效。性能调整之后,会明显改善选课系统能效,而这不只局限于优化运行参数,还应有针对数据的定向查询,从而得到对SQL的优化策略,明显提升数据库自身性能。

在使用索引时,要分开部署对象,设置有利的运行环境。由于数据文件访问量较大,故将其存储至磁盘,以缓解频繁的I/O操作带来的Oracle数据库对象使用。优先把内存中修改过的数据写入日志文件,而非数据文件中,在这个过程中一定注意不要改变其大小。合理规划日志文件分组,循环进行组的写操作,以减少I/O进程之间的磁盘竞争。同时必须创建回滚段和对应的表空间,以便得到系统操作失败后的恢复数据。

3.5 浏览器兼容优化

目前主流的浏览器主要是基于IE和Gecko两种内核,其中IE系列的各种版本浏览器、以IE内核为基础进行二次开发的浏览器(比如腾讯TT、傲游等)都是以IE为内核的浏览器;Firefox、Netscape 等浏览器是以Gecko为内核的浏览器。由于不同浏览器的内核不同导致了JavaScript解析上存在的差异,所以在开发Ajax应用程序时,势必会遇到程序代码在不同浏览器下不兼容的问题。原本在某个浏览器中能正常运行的程序,在另外一个浏览器环境中就完全无法工作。在进行选课系统能效优化过程中,主要考虑使用getElementById代替idName、表单元素的引用、集合对象成员的访问、自定义属性的读取、常量的定义、input元素的type属性读写问题、使用showModalDialog来创建模态窗口、frame元素的操作、父元素的引用、getElementsByName的问题以及innerText、outerText和outerHTML在Firefox下的实现。

3.6 调整选课规划

进一步调整选课规划,做好选课时间及学院(专业)安排。将排课时间进一步提前,为学生选课预留充足的时间,在保证时间允许的基础上,尽可能地拉长选课时间,将目前的15天增加至34天,分散学院(专业)安排,减轻因并发访问人数过多造成的服务器压力。

3.7 硬件更新

更新选课系统服务器,以适应大数据时代对应用系统的要求。主要是提升CPU、内存等硬件性能,CPU核心数由4核提高到8核,CPU频率由2.93GHz更新到3.2GHz,CPU缓存增加到20M,内存由24G扩展到96G,这样选课速度将会在很大程度上得以改善。

4 结束语

进行大数据环境下网上选课系统能效优化是一项复杂的系统工程,需要针对系统制定多角度、全方位的优化策略。通过前期分析影响数据库性能的各方面因素,按照数据库优化应遵循的方法,开展了大量性能调整实验,并进行后期压力测试。对数据库实施该优化策略前后性能进行对比,结果表明,网上选课系统在运用此方法进行能效优化后,性能得到了明显提升。

参考文献:

[1] 潘旭武,陈启华,张建勇. 高校选课系统性能优化研究[J].中国教育信息化,2013(5):76-78.

[2] 黄健.大数据视角下选课行为分析[J].教育探究,2015,9(5):78-81.

[3] 王纯子,张斌.面向大型数据处理系统的Oracle数据库性能优化技术[J].中小企业管理与科技,2013(7):288.

[4] 刘乃嘉,彭宇,王鑫,等.清华大学网上选课性能优化研究与实践[J].实验技术与管理,2011(5):247-248,

[5] 韦安云. Oracle 数据库的性能调整与优化方法探析[J]. 电脑知识与技术,2015,11(21):8-9.

[6] 郭晓丹.基于Oracle数据库系统性能调整与优化研究[J].数字技术与应用,2015,4(5):105-107.

猜你喜欢
大数据优化
超限高层建筑结构设计与优化思考
一道优化题的几何解法
由“形”启“数”优化运算——以2021年解析几何高考题为例
大数据环境下基于移动客户端的传统媒体转型思路