ASP.NET权限组件,生成10万条测试数据检测程序的大数据性能改进

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

  不管开发什么系统,都考虑大数据量的问题,把大数量优化都做一做,例如开发一个权限管理系统,就会考虑有几万个用户,几千个组织机构,把很多精力都放在系 统大数据的优化上。   后来发现有些过度设计,真正购买我们系统的人大多是小企业,甚至是微型客户,例如用户只有几个或者几十个,有几百人的都不是非常多,自从那以后又把精力转 移了,把很多精力放在业务功能的分析,软件是否好用好操作上,是否操作友善等等,这样坚持了好几年,效果很明显软件越来越功能好用了。   软件的功能好用了,比较稳定了后,有些大客户就看上我们的组件了,他们一用发现当有接近1万个用户时,软件的很多页面就性能比较低了,因为前几年主要精力 都放在软件的操作是否好用上而没关注大客户的大数据量的性能问题上。   年前遇到一个客户反馈,当用户数量超过5000后,有些页面运行速度缓慢,正好利用春节把软件的大数据时的性能问题重新抓了个重点,把每个遇到大量用户时 的页面功能都增加了分页功能。

   1:如何快速产生10万个测试用户?同时在产生测试用户时能验证一下程序的多用户并发时的稳定性?考虑到这个因素,我写了一个脚本程序每次产生100个测 试用户数据,然后再写个多线程的程序,每点一次并发启动100个线程,这样一次可以产生1万条演示数据,连续点上10次,就可以产生10万条演示用户数据 了。同时也验证了数据库访问组件、底层数据控制函数类的多用户并发下的安全性、稳定性,确保没有大并发的程序紊乱问题,用人工去测试这个比较费劲,直接写 个多线程的脚本测试函数相当轻松愉快就可以搞定这个问题了。当然也可以启动10次应用程序,每个程序同时启动100个多线程来测试一下多用户并发的模拟测 试也是非常不错的,下面可以看测试效果图。

   2:虽然没有绝对通用,但是可以有相对通用,例如我们的权限管理系统大致有5000个功能点,当你有任何类似需求时,在5000个功能点的基础上再进行2 次开发,那会是非常省心省事,而且还稳定高效,与其他开发人员开发的系统有更好的兼容性,当然我们的组件也会持续进行改进维护,将来也可以拿到更强大的组 件。可以把精力放在核心的业务系统的开发上。

  通用权限管理系统组件里,大用户优化的页面主要有如下九个页面。 FrmUserSelect 用户选择页面 FrmUserAdmin 用户管理页面 FrmUserAudit 用户审核页面 FrmUserPermissionAdmin 用户权限管理页面 FrmLogGeneral.cs 用户访问日志 FrmUserTreeResourcePermission.cs 用户组织机构权限 FrmUserModulePermissionBatchSet.cs 用户菜单权限 FrmUserPermissionItem.cs 用户操作权限项目页面 FrmUserResourcePermission.cs 用户选项(字典)权限

  忙乎了好几天,用10万多个测试用户感受了一下通用权限管理系统组件的大数据性能,每个页面运行起来快了很多了,几乎没什么等待时间了,这还是在我的笔记 本上的运行的,在服务器上应该会更快一些。今天是2013年2月14日情人节,中午把女儿带到杭州动物园让她们进去里面玩了,我在门口调试调试程序等女儿 玩好出来,外面下着小雨空气非常不错很清新。这个春节最大的收获就是用10万的数据压力测试了一下多年精心维护的组件,也算有些得到安慰了,这个春节没白 过也有工作上的成果了,否则还真有罪恶感天天吃吃睡睡、睡睡吃吃就度过春节了也不太好。

  10多年前,那时候我们还在用sql2000时,业务数据量达到10万条后,系统的性能就开始明显下降了,搞各种优化很是费力,不过那时候的电脑的性能也 没现在这么强大,当时觉得10万条数据真的好多啊,现在经常遇到上千万条的数据后,觉得10万条数据太少了,也就是入门级别的数据量一样的感觉了,电脑的 性能在提高、自己的开发水平在提高、数据库技术也在不断提高!

  这下也算是可以给杭州的那个服装公司的客户有个交代了,他们全国各地的加盟店什么的用户算在一起就有6000个以上的用户了,最近2-3年一直用500左 右的用户做测试,没太注意关注大数据量的优化问题,这下心里的一个石头也落下来了,继续慢慢推广“通用权限管理系统组件”省心省事,兼容统一各种业务系统 的用户权限配置管理,促进重复利用劳动成果的理念继续坚持。





本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/1188407,如需转载请自行联系原作者

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
消息中间件 分布式计算 大数据
大数据-113 Flink DataStreamAPI 程序输入源 自定义输入源 非并行源与并行源
大数据-113 Flink DataStreamAPI 程序输入源 自定义输入源 非并行源与并行源
41 0
|
1月前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
1月前
|
分布式计算 监控 大数据
大数据-114 Flink DataStreamAPI 程序输入源 自定义输入源 Rich并行源 RichParallelSourceFunction
大数据-114 Flink DataStreamAPI 程序输入源 自定义输入源 Rich并行源 RichParallelSourceFunction
43 0
|
28天前
|
监控 测试技术 PHP
性能和压力测试
【10月更文挑战第10天】性能和压力测试
110 60
|
2天前
|
人工智能 Java 编译器
.NET 9 发布 性能提升、AI 支持与全方位改进
【11月更文挑战第5天】.NET 9 引入了多项改进,包括性能提升、AI 支持和全方位功能优化。性能方面,编译器增强、服务器 GC 优化、矢量化和硬件支持等提升了执行效率。AI 方面,新增学习材料、合作伙伴生态、原生支持和生成式 AI 集成。此外,.NET Aspire 组件升级、编程语言新功能和开发工具更新进一步提升了开发体验。
|
24天前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
27 0
|
1月前
|
消息中间件 资源调度 大数据
大数据-112 Flink DataStreamAPI 程序输入源 DataSource 基于文件、集合、Kafka连接器
大数据-112 Flink DataStreamAPI 程序输入源 DataSource 基于文件、集合、Kafka连接器
32 0
|
1月前
|
SQL 分布式计算 大数据
大数据-91 Spark 集群 RDD 编程-高阶 RDD广播变量 RDD累加器 Spark程序优化
大数据-91 Spark 集群 RDD 编程-高阶 RDD广播变量 RDD累加器 Spark程序优化
30 0
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
38 7
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
54 0
下一篇
无影云桌面