设某学校选课系统使用SQL Server 2008数据库管理系统,在学生选课期间,用户反映速度缓慢,大部分时间内,学生无法正常选课(选课学生近1万人)。经技术人员分析,发现速度缓慢的原因为数据库服务器响应缓慢。在选课期间,数据库服务器CPU使用率为100%

admin2016-04-27  41

问题 设某学校选课系统使用SQL Server 2008数据库管理系统,在学生选课期间,用户反映速度缓慢,大部分时间内,学生无法正常选课(选课学生近1万人)。经技术人员分析,发现速度缓慢的原因为数据库服务器响应缓慢。在选课期间,数据库服务器CPU使用率为100%,内存使用率95%,磁盘IO占用10%,网络带宽占用20%。在进一步分析后发现,学生在选课过程中需要在每次选定课程前校验相关课程的成绩信息,而校验成绩的SQL语句在业务不繁忙时仍需要1~2分钟才能执行完成。现有服务器硬件情况如下:
CPU:两颗英特尔至强处理器E5-2640 2.50GHz
内存:128GB,主频1600MHz
磁盘:6块600GB 15000转6Gbps SAS硬盘,RAID5
网卡:千兆网卡为了保证系统稳定运行,现有如下优化方案:
(1)将CPU更换为两颗英特尔至强处理器E5-2690 2.90GHz。
(2)将内存提高到256GB,主频1600MHz。
(3)将磁盘更换为6块800GB读取密集型MLC 6Gpbs硬盘,保持RAID5。
(4)将网卡更换为万兆网卡。
(5)优化校验成绩SQL语句并建立相关索引,校验完成时间降低到1秒。
根据题目描述,请从是否能解决选课运行速度缓慢问题的角度逐个评价以上5个方案并给出原因。

选项

答案(1)提高CPU的主频,可以稍微缓解选课速度慢的问题。因为CPU主频提高,单位时间内处理的数据多一些,但不能根本解决服务器响应慢的问题。本题中的CPU在选课期间使用率达到100%,增加CPU的频率不能从根本解决问题。大量的SQL数据在网络上传输可能会导致网速变慢。 (2)内存提高,可以改善选课速度慢的问题,内存的增加可以从一定程度上提高数据处理的效率。本题中,选课期间内存使用率达到95%,说明内存没有完全使用,因此内存容量不是产生服务器响应慢的原因。 (3)SLC的特点是成本高、容量小、速度快,而MLC的特点是容量大、成本低,但是速度慢。因此替换原有的SLC硬盘不能提高数据存取的速度,不能解决选课运行速度慢的问题。 (4)更换网卡不能解决选课运行速度慢的问题,因为本题中网络带宽的使用率才20%,说明网络问题不是选课慢的主要原因。 (5)可以从根本上解决选课慢的问题。原有校验成绩的SQL语句需要1~2分钟才能执行完成,当大量的学生选课时,CPU和内存主要用于处理SQL语句,大量的资源被消耗,引起服务器反应减慢。本题中,SQL语句的效率低下,是产生服务器响应慢的根本原因,应当对SQL语句优化。一般来说,效率低下的SQL语句常常是系统效率不佳的主要原因。

解析 数据库系统运行需要依赖服务器、操作系统、存储、网络等因素。当这些数据库环境出现瓶颈时会导致数据库运行缓慢,甚至无法完成业务。一般来说,可以从外部环境、调整内存分布、调整磁盘I/O、调整资源竞争等几方面来改变数据库的参数,提高其性能。
    (1)外部调整包括CPU调整和网络调整。当数据库操作对CPU性能的要求超过数据库服务器的CPU性能时,数据库性能就受到CPU的限制,使数据库操作变慢。
    (2)通过调整相关参数控制数据库的内存分配,也可以在很大程度上改善数据库系统的性能。
    (3)调整磁盘I/O。数据库性能优劣的一个重要度量是响应时间,而I//O时间是响应时间的最大组成部分。因此,可以通过令I/O时间最小化,减少磁盘上的文件竞争带来的瓶颈等方法来改善数据库系统的性能。
    (4)调整竞争。多个进程对相同的资源发出申请时,导致了竞争的发生,从而引起服务器的反应缓慢。
    (5)效率低下的SQL语句常常是系统效率不佳的主要原因。因此采用高效率的SQL语句,可以显著减少服务器的反应时间,提高服务器处理的速度。
    本题中,SQL语句的效率低下是产生服务器响应慢的根本原因,提高SQL语句的执行效率,可以有效提高服务器的响应速度。
转载请注明原文地址:https://jikaoti.com/ti/IX37FFFM
0

最新回复(0)