提升在线退休金计划系统性能的案例研究

在当今快速发展的数字时代,企业必须不断优化其在线服务以满足用户的需求和期望。本文将介绍PlanGen公司如何通过识别和解决其在线退休金计划系统中的瓶颈,来提高系统响应速度和性能。

业务目标

PlanGen公司的主要目标是识别并解决其在线退休金计划系统中的瓶颈,以提高系统的响应时间。该公司的在线服务需要处理大量的退休计划场景请求,但由于复杂的计算和高流量,导致在线交易速度显著下降。

技术挑战

PlanGen的网络应用程序每天需要响应数百个退休计划场景的请求。高流量与复杂计算的结合显著减缓了在线交易的速度。

解决方案

PlanGen采用了Red Gate Software的ANTS Profiler工具来识别应用程序中的慢速进程,然后调整相关代码以减少数据库查询的数量。

结果

通过优化ANTS Profiler发现的最慢例程,PlanGen的系统将每个员工的响应时间从5.4秒减少到0.8秒——快了近七倍。

数据库访问过载

PlanGen的IllustrationNET412(i)是一个数据库驱动的提案生成器和存储系统,使用C#编写,并使用Microsoft Visual Studio .NET。该网络应用程序允许保险代理人为其客户展示退休计划场景。

IllustrationNET412(i)使用公司的员工数据库,并使用针对保险和年金承运商的独特产品-费率表量身定制的精算算法创建提案。这些提案分析并预测公司所有员工直到退休的退休场景。这需要复杂的计算和数据库,这些数据库在员工任期内可能会变化数万次。

“网络服务器调用数据库服务器来读取和写入特定员工在不同年龄的保险和年金费率,计算人寿保险和退休账户的价值,并生成说明文件,”PlanGen的高级开发人员和管理合伙人Eric Edelstein说。

具体来说,基于网络的前端会调用Web服务器上的C#模块中的业务逻辑层。这些模块从存储在SQL Server中的存储过程中收集所需数据。然后,数据返回到业务逻辑层进行处理和最终组装成定制的数据集,这些数据集被写入SQL数据库中的报告/存储表。最终的计算数据集从数据库中检索出来,并作为.aspx页面或PDF文件输出显示在Web服务器上,供客户端浏览器使用。

这个过程,加上数百人将员工名单添加到系统中并修改提案以产生不同的退休成本/收益场景,影响了托管应用程序的Dell Pentium服务器的性能。生成提案的过程大约需要每个员工5.4秒。

“据所知,数据库和Web服务器已经优化,但这个过程对于多用户系统的生产来说太慢了,”Edelstein说。

简化数据库查询

PlanGen一直在其系统中嵌入代码作为调试语句显示在屏幕上,以查看系统中的瓶颈发生在哪里。然而,这种方法并没有帮助开发人员识别问题。PlanGen决定购买Red Gate Software的ANTS Profiler,该工具可以识别.NET应用程序中的慢速代码行,并精确定位问题,允许开发人员修改不按最初意图执行的例程或模块。

在不到10分钟的时间里,ANTS Profiler揭示了大部分时间都花在了数千次调用业务逻辑循环以从SQL存储过程检索数据上。

“数据库调用开销时间是罪魁祸首,”Edelstein说。“它大约占用了每个员工处理时间5.4秒中的4秒。”

PlanGen没有迫使Web应用程序业务逻辑模块在计划计算期间不断调用数据库以查找值,而是在Web应用程序首次接收请求时将查找表加载到内存数组中。

“一旦这些数组被初始化并存储在处理业务逻辑的Web服务器内存中,就可以消除单独的数据库查询,”Edelstein说。

更多容量,更少时间

在优化ANTS Profiler发现的最慢例程后,PlanGen的系统将每个员工的响应时间从5.4秒减少到0.8秒——快了近七倍。

“应用程序对用户来说不仅更快,还可以在每台服务器上容纳更多的请求,使用更便宜的硬件,并保留开销处理能力,因为不再消耗过多的CPU资源,”Edelstein说。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485