免费智能真题库 > 历年试卷 > 软件评测师 > 2018年下半年 软件评测师 上午试卷 综合知识
  第64题      
  知识点:   数据库资源监控   性能测试   数据库   数据库性能
  关键词:   数据库   性能测试   测试   数据        章/节:   测试技术的分类       

 
( )不属于数据库性能测试的测试指标。
 
 
  A.  内存利用
 
  B.  会话统计
 
  C.  带宽
 
  D.  SQL执行情况
 
 
 

 
  第67题    2011年下半年  
   49%
客户端交易处理性能指标是一类重要的负载压力测试指标,以下不属于客户端交易处理性能指标的是(67)。
  第69题    2010年下半年  
   42%
性能测试过程中需要对数据库服务器的资源使用进行监控,(69)不属于应该监控的指标。
  第65题    2017年下半年  
   26%
以下不属于负载压力测试的测试指标是( )。
   知识点讲解    
   · 数据库资源监控    · 性能测试    · 数据库    · 数据库性能
 
       数据库资源监控
               Oracle
               如下表所示为Oracle资源监控指标。
               
               Oracle资源监控指标
               Sysbase
               如下表所示为Sysbase资源监控指标。
               
               Sysbase资源监控指标
               
               
               DB2
               如下表一、如下表二及如下表三所示为DB2资源监控指标。
               
               DB2资源监控指标(数据库管理)
               
               
               DB2资源监控指标(数据库)
               
               
               
               DB2资源监控指标(应用程序)
               
               
               SQL Server
               如下表所示为SQL Server资源监控指标。
               
               SQL Server资源监控指标
               
               针对数据库系统的监控,如果我们需要监控共享内存缓冲区、会话、磁盘等方面的内容,下面给出了相关的一些监控建议。
               . 监控超出共享内存缓冲区的操作数。
               监控超出共享内存缓冲区的操作数,按照这个基准,我们可以对缓冲区进行额外的调整,以便更好地支持实际系统的运行需要,提高用户生产效率。
               . 扩展的会话/用户检查以及参数控制。
               利用扩展的会话/用户检查以及参数控制功能,向我们发出警报,帮助我们发现过多的不合理顺序扫描操作。根据这些信息,我们可以分配附加的资源,或者要求修改其应用程序,以降低对系统资源的要求。我们可以制定更精确的资源容量计划,以便实现现在和将来的业务运行需要。
               . 磁盘。
               监控磁盘的数据块使用情况以及被频繁读写的热点区域。通过这些信息我们可以较容易地平衡在磁盘上数据量的存储分配以及磁盘的I/O分配,有效地帮助我们作好磁盘容量规划,并在当前的磁盘设备上有效地提高数据的读写效率。
 
       性能测试
        系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等,我们这里重点讨论的负载压力是系统性能的一个重要方面。性能测试用来保证产品发布后系统的性能能够满足用户需求。性能测试在软件质量保证中起重要作用。通常情况下存在性能调优与性能评测两种性能测试策略。
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
 
       数据库性能
        数据库性能的调整是数据库管理员的日常工作之一。性能调整工作可以从逻辑上和物理上两个方面进行。
               SQL的性能优化
               SQL(Structured Query Language,结构化查询语言)语句是用户访问关系数据库中数据的唯一方法,通常在一个关系数据库上,服务器的SQL进程会使用该服务器60%~90%的资源,大部分数据库效率的问题都是由于SQL语句编写不善引起的,所以SQL语句的性能优化十分重要。
               为了编写出高效的SQL语句,首先应按照一定的具体规范来编写SQL语句,我们建议每一个DBA都应该收集和整理一份SQL编码规范。其次是在真实数据库上对这些SQL语句进行性能测试和跟踪并不断调整,达到最优后才正式上线运行。最后需要强调的是,随着数据量的变化和数据库版本升级后,往往会有部分SQL性能下降,所以对SQL的跟踪优化是DBA的一项持续不断的工作。
               数据库的性能优化
               DBS是一组程序作用在数据文件上对外提供服务,所以其本身的性能优化也十分重要,对其的优化工作主要是相应的参数调整,步骤一般如下:
               (1)通过监视DBS的内存对象,获得系统性能指标,发现系统的性能缺陷及原因。
               (2)针对导致系统性能缺陷的原因,进行相应的参数调整(如增加数据缓冲区的大小)。
               (3)跟踪参数调整后系统的各项性能指标,看是否达到预期要求,否则继续调整。
               以上3步反复循环迭代,持续进行,保证数据库本身运行状态的最优。
               例如,Oracle通常利用定时执行statspacke.snap包收集数据库的运行状态,然后利用程序spreport.sql对两个采集点之间的数据产生报表,以分析这段时间数据库的各种运行指标。Sybase数据库用sp_sysmon、sp_monitor、sp_configure命令来采集和分析一定时间段内数据库的各种运行指标。
               查询优化
               可以通过如下方法来优化查询:
               (1)把数据、日志、索引放到不同的I/O设备上,增加读取速度。数据量(尺寸)越大,提高I/O越重要。
               (2)纵向、横向分割表,减少表的尺寸。
               (3)根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,使用字节数小的列建索引好,不要对有限的几个值的列建单一索引。
               (4)用OR的子句可以分解成多个查询,并且通过UNION连接多个查询。它们的速度只与是否使用索引有关,如果查询需要用到联合索引,用UNION all执行的效率更高。
               (5)在查询SELECT语句中用WHERE子句限制返回的行数,避免表扫描。如果返回不必要的数据,浪费了服务器的I/O资源,加重了网络的负担,降低了性能。如果表很大,在表扫描的期间将表锁住,禁止其他的联接访问表,后果严重。
               (6)注意使用DISTINCT,在没有必要时不要用,它同UNION一样会使查询变慢。
               (7)在IN后面值的列表中,将出现最频繁的值放在最前面,出现得最少的放在最后面,减少判断的次数。
               (8)一般在GROUP BY和HAVING子句之前就能剔除多余的行,所以尽量不要用它们来做剔除行的工作。
               (9)尽量将数据的处理工作放在服务器上,减少网络的开销,如使用存储过程。存储过程是编译好、优化过、并且被组织到一个执行规划里、且存储在数据库中的SQL语句(存储过程是数据库服务器端的一段程序),是控制流语言的集合,速度当然快。存储过程有两种类型。一种类似于SELECT查询,用于检索数据,检索到的数据能够以数据集的形式返回给客户。另一种类似于INSERT或DELETE查询,它不返回数据,只是执行一个动作。有的服务器允许同一个存储过程既可以返回数据又可以执行动作。
               (10)不要在一句话里再三地使用相同的函数,浪费资源,将结果放在变量里再调用更快。
               另外,还可以针对大量只读查询操作进行优化,常见的方法有:
               (1)数据量小的数据,可以考虑不存储在数据库中,而是通过程序常量的方式解决。
               (2)需要存储在数据库中的数据,可以考虑采用物化视图(索引视图)。当DBA在视图上创建索引时,这个视图就被物化(执行)了,并且结果集被永久地保存在唯一聚簇索引中,保存方式与一个有聚簇索引的表的保存方式相同。物化视图减除了为引用视图的查询动态建立结果集的管理开销,优化人员可以在查询中使用视图索引,而不需要在FROM子句中直接指定视图。
               (3)数据存储时可以考虑适当的数据冗余,以减少数据库表之间的连接操作,提高查询效率。
               (4)针对数据的特点,采取特定的索引类型。例如位图索引等。
   题号导航      2018年下半年 软件评测师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第64题    在手机中做本题