客服中心数据库系统调优和性能测试

2021-07-06 18:44黄鑫吕晓玮吴晓斌张小茜王超群
卫星电视与宽带多媒体 2021年7期
关键词:数据库

黄鑫 吕晓玮 吴晓斌 张小茜 王超群

【摘要】数据库系统是客服中心提供业务功能与改善服务的基础,随着数据库表规模及查询复杂程度增加,广电客服中心及时升级数据库连接池和缓存技术对现有Oracle数据库进行系统调整优化,部署实施后对数据库系统进行了响应速度和压力测试等性能对比。

【关键词】数据库;连接池;缓存技术;压力测试

中图分类号:TN929                    文献标识码:A                     DOI:10.12246/j.issn.1673-0348.2021.07.026

江苏有线南京分公司客服中心管理系统涉及多个功能模块软件,包括话务平台软件和自助报修回访系统等,随着公司业务流程变更还增加各类配套服务统计、调查报表处理和日志查询等,這些应用服务都要大量频繁调用数据库,并将访问压力部分集中到客服中心后台数据库及系统接口应用服务器。客服中心数据库系统作为客户呼叫业务数据仓库,是公司与广电用户持久化交互式沟通的重要数据存贮,合理选择调整部署及优化管理配置数据库是客服中心稳定高效运行的基石。客服中心数据库系统调优和升级部署,要考虑提升系统整体性能、增强负载能力和方便数据迁移等多方面因素。

1. 现状及改进策略

随着公司各部门关联业务量扩大,后台数据库规模不断增大,数据查询复杂程度随之增加,数据系统性能问题受到关注,数据库正常高效运行对公司整体服务运营越来越重要,因此数据库调整优化需要持续规划与实施。南京客服中心管理系统早期采用增加数据库服务器存储资源以及提升硬件设备CPU和内存性能,同时针对后台Oracle数据库调整应用程序结构设计并进行数据库访问索引和执行访问SQL语句优化方式。

近几年客服中心管理发现数据库服务器CPU使用率和内存资源占用比例有时非常高,为此引入缓存技术即由专门缓存服务器分担数据库系统压力,使用缓存方式后检查数据库服务器CPU和内存占用率下降,系统整体稳定性显著提高。因此客服中心数据库调整优化首先是采用缓存技术进行数据库缓存架构升级,通过缓存机制可大幅提高查询操作效率。当用户再执行相同查询时,可直接从缓存中获取数据,可省去相关解析工作。在实际应用环境中,并不是任何情况下数据缓存都能起到效果,通常存在一个不常改变的表并且数据库服务器收到对这个表的大量相同查询时,数据缓存才有好效果。对于客服中心平台软件B/S客户端访问方式及公司各部门数据库访问Web接口应用,效果会比较明显。

客服中心数据库调整优化采用Redis缓存技术,由于Redis本身是C语言开发,无需经过JVM或者.NET Framework翻译运行,执行速度更快且不受Java程序运行内存限制,缺点是无法存放对象数据,数据写入读取要经过序列号和反序列化过程。客服系统现实情况是应用服务器资源占用比例较低,因此可适当增加负荷,而数据库服务器资源占用较高,引入Redis缓存虽然增加一些额外计算工作,但总体对比测试后仍可明显提升系统响应速度。

客服中心数据库调整优化除采用缓存技术,还升级了数据库连接池。目前常见数据库连接池技术有c3p0、dbcp、Druid、HikariCP等,客服中心数据库系统升级最终选择Druid连接池技术。原来用c3p0是在Java领域简单易用的数据库连接池技术,客服中心早期Hibernate解决方案可内置c3p0数据库连接池,但c3p0相对技术性能比同类产品有差距,已不适应当下高并发场景。目前Druid和HikariCP是处于活跃更新状态的数据库连接池技术,其中HikariCP通过字节码精简、优化代理和拦截器等手段,技术性能最高,但除性能要求外,客服中心系统要考虑日常运维和管理,拥有强大监控特性及图形监控界面的Druid是更好选择。通过Druid监控功能可清楚知道连接池和SQL工作情况,减少运维成本。

2. 系统升级部署

客服中心系统升级部署包括数据库系统Redis缓存和数据库连接池Druid部署,应用WEB服务器Tomcat和Nginx等软件组件安装部署。客服中心Oracle数据库系统最早是单机模式安装,随着业务量增加出现性能瓶颈,后期系统升级部署多台数据库服务器包括Redis缓存服务器,安装配置采用数据库软件加存储以及主从数据库方式安装配置。数据库软件加存储方式是在多台服务器上安装数据库应用软件,但数据文件不存放在数据库服务器,而使用专门硬件存储,这样当某台数据库应用服务器出现故障时,可自动切换到另一台服务器,不会中断业务,数据安全由硬件存储增加RAID技术保障。数据库升级连接池Druid部署,先要设置操作环境并修改配置文件,安装启动基础配置,导入测试数据可用Druid数据可视化页面等控制台查看,集群部署要规划配置主节点、数据节点和查询节点等,加载文件数据查看运行情况和启动所需服务。

客服中心系统升级部署要做数据库配置及数据迁移,数据库配置需从安全性、磁盘空间使用、维护性方面考虑。安全性方面应避免低强度密码,访问数据库帐号应授权使用。磁盘空间方面应合理规划数据文件大小。维护性方面应合理配置备份和同步等计划任务,确保数据安全。数据库配置完成后,再初始化业务数据库,将创建数据表、视图、存储过程SQL脚本导入数据库,完成新数据库初始化,然后停止运行客服中心系统,对现有数据库进行完整备份并还原至新数据库,完成数据迁移。

3. 系统性能测试

数据库系统升级部署优化改造后,要对各项应用功能进行访问性能测试,对数据库系统采用直接操作数据库表方式进行测试,因新增缓存技术进行数据库缓存架构优化和数据库连接池升级,访问话务系统压力测试实际也完成了对后台数据库系统的访问测试。

客服中心系统性能测试,主要通过行业自动测试工具和测试技术手段,模拟正常和峰值及异常负载条件下系统的各项指标,确定软件并发能力和排查性能问题,为提高软件产品质量提供依据。目前客服平台系统因撤销了综合业务信息网对外服务,网络信息安全管控后公司各部门对外交互接口访问峰值可控,而部门内部访问人员增长有限,因此测试重点在于前台应用系统访问响应速度及后台数据库缓存和连接池系统整体运行性能。

系统软件测试工具主要采用Chrome开发者工具和LoadRunner进行性能检测,客服中心系统性能测试主要包括响应速度测试和并发测试。响应速度测试是检测客服中心系统的访问响应速度。网页渲染的速度可以直观的反应页面从请求访问到展现在客服代表面前所需要的响应时间,通过响应速度测试,可以找到页面中加载及响应速度较慢的文件,为优化提供依据。系统对开发的各功能模块页面进行测试,访问页面前打开Chrome开发者工具,刷新并查看页面个元素加载情况,然后多次测试分析,完整测试每个分支功能。管理系统并发测试使用LoadRunner创建Web-HTTP/HTML脚本文件,然后点击编辑,选中打开浏览器,录制并生成操作脚本,通过修改参数增大测试并发数量,查看网站响应情况,对WEB应用服务Tomcat和Nginx等组件也进行了测试。通过响应速度测试,发现部分页面JavaScript渲染速度慢的问题,通过优化前端脚本成功解决,通过LoadRunner验证了并发性能,并改善了性能不达标的页面的程序代码,最终达到预期系统响应及并发能力范围。

客服系统Oracle数据库压力测试是通过模拟大量话务查询客户端同时操作数据库,获取数据库服务器在较大压力状况下的性能瓶颈和最大吞吐率,向数据库及服务器管理员提供高并发下服务器链接、数据库吞吐量、缓存命中和处理器CPU及磁盘性能状况指标。

客服中心系统Oracle数据库压力测试会对服务器产生较大的压力,如果使用和正式数据库同一存储设备将会影响线上业务,所以要用配置相同或相近备用服务器进行测试,并模拟相同数据量以得到可靠测试结果。使用Swingbench软件进行功能测试前,要搭建Oracle数据库服务器测试环境,包括Linux系统和Oracle数据库及虚拟机,再用Swingbench进行测试和导入数据進行初始化,然后运行Swingbench向导,选择创建测试库并填充数据,根据客服中心实际生产系统数据库规模,选择填充10GB模拟数据,开始创建测试库。选择Swingbench各项参数设置后执行基准测试,具体测试界面如图1所示:

在测试过程界面图中,使用Swingbench自带StessTest脚本启动数据库压力测试,该脚本运行时将自动产生数据,并自动执行数据库操作,模拟设置并发用户,相当于管理员直接进行数据库操作根据客服中心日常工作统计情况将模拟测试的插入、查询、更新和删除操作分别设置比例,最后启动压力测试得到测试性能报告。通过模拟测试结果,可看到在单实例数据库环境中,大量并发用户同时操作,数据库服务器仍能正常提供高性能处理服务,但处理器CPU占用比率升高,数据库系统响应时间延迟加大。

4. 总结与展望

从行业发展来看,客服中心系统优化升级越来越侧重于软件升级与服务方面,体现了软件即服务新理念,广电客服中心数据库系统升级部署也是为了改善后台支撑系统性能,更好服务客户和提升自身运营管理,强化客服中心整体系统服务能力及其安全稳定性。南京客服中心采用Druid数据库连接池和Redis缓存技术实施了数据库缓存架构升级和数据库连接池调整优化,取得了较好的数据系统处理性能提升,经过测试达到了预期效果。

参考文献:

[1]孙志勇.压缩数据库中大规模电子信息缓存优化方法[J].电子设计工程,2020(7):95-103.

[2]常祖政.Tomcat数据库连接池的工作原理与配置[J].信息与电脑,2017(18):120-124.

[3]田稼丰.基于金融场景的数据库性能评估工具[J].信息通信技术与政策,2020(4):85-90.

[4]董鹏,李海涛.高并发访问下数据库连接池的研究与设计[J].电脑知识与技术,2017(8):1-5.

猜你喜欢
数据库
Designer测试大数据预定义均衡配置
MemSQL获3000万美元D轮融
数据库
数据库
数据库
数据库
数据库
数据库
SQL语言在电信业务数据库数据查询中的应用
数据库