|
升蓝CRM 客户关系管理系统系统性能指标
系统性能指标
- 统一性:
- 系统的架构、服务、模块、数据接口进行统一合理规划,提高系统的性能。
Hiblue 0755-88291051
- 稳定性:
- 高稳定性,系统总体可用率>99.7%,数据库应用可用率>=99.8%,WEB应用可用率>=99.8%。
http://www.upblue.com
- 可靠性:
- 在系统设计架构的设计方面,充分考虑了系统的可靠性要求,满足企业级计算所需要的高度。
H i b l u e S o f t w a r e
- 安全性:
- 提供强管理机制和控制机制,具有日志监控、事故监控和网络安全保密等技术措施。
深 圳 市 升 蓝 软 件 开 发 有 限 公 司
- 高速高效:
- 系统在编程设计时大量使用调整缓存机制,减少了系统IO的负载,极大地加快了系统的运行速度。
u p b l u e . c o m
- 易操作性:
深 圳 升 蓝 软 件 公 司
- 静态数据指标:
升 蓝 软 件 w w w . u p b l u e . c o m
- 动态数据指标:
- 并发访问用户数量应达到200以上,允许1000用户同时在线。
- 系统响应速度:
- 页面响应速度,在合理网络和平台配置情况下,则访问操作性界面操作的系统响应时间小于5秒,静态页面标准响应时间小于2秒,简单查询页面小于3秒,复杂查询页面小于5秒。(实际上测试得到的响应时间通常在0.05~0.1秒之间)。
系统性能的优化
系统性能的优化
- 对于一个WEB应用系统,系统性能主要体现在服务器端的性能表现。服务器端又分为WEB和应用服务器,数据库服务器。为满足系统性能的要求,我们在服务营销广场的系统性能设计方面有以下考虑。
系统整体性能
- 系统的性能是受限于系统中各个环节的瓶颈的。因此在服务营销广场整体设计中,我们遵循的原则是尽可能的将系统架构中的各个部分保持独立。即系统的前台表现层、应用逻辑层和数据层是独立的。当某个环节出现瓶颈时可快速的解决。如Web前台访问的瓶颈可以通过增加Web负载均衡服务器来实现。
数据库性能设计
- 逻辑数据库设计遵循的基本规范
- 没有重复的组或多值的列;
- 每个非关键字段必须依赖于主关键字,不能依赖于一个组合式主关键字的某些组成部分;
- 一个非关键字段不能依赖于另一个非关键字段。
- 生成物理数据库
- 与每个表列相关的数据类型应该反映数据所需的最小存储空间,特别是对于被索引的列更是如此。比如能使用smallint类型就不要用integer类型,这样索引字段可以被更快地读取,而且可以在一个数据页上放置更多的数据行,因而也就减少了I/O操作。
- 把一个表放在某个物理设备上,再通过SQL Server的段把它的不分簇索引放在一个不同的物理设备上,这样能提高性能。
数据库编程性能设计
- 合理使用索引
- 索引是数据库中重要的数据结构,它的根本目的就是提高查询效率。索引的使用要恰到好处,其使用原则如下:
- 在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引;在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引;在条件表达式中经常用到的不同值较多的列上建立索引,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。 如果待排序的列有多个,可以在这些列上建立复合索引。
- 避免或简化排序
- 尽量简化或避免对大型表进行重复的排序。当能够利用索引自动以适当的次序产生输出时,优化器就避免了排序这个步骤。为了避免不必要的排序,就要正确地增建索引,合理地合并数据库表。
- 消除对大型表行数据的顺序存取
- 在嵌套查询中,表的顺序存取对查询效率可能产生致命的影响。可以使用并集来避免顺序存取。尽管也许在所有的检查列上都有索引,但某些形式的where子句会强迫优化器使用顺序存取。
- 避免相关子查询
- 如果一个列同时在主查询和where子句中出现,很可能当主查询中的列值改变之后,子查询必须重新查询一次。而且查询嵌套层次越多,效率越低,因此应当尽量避免子查询。如果子查询不可避免,那么要在子查询中过滤掉尽可能多的行。
- 避免困难的正规表达式
- Mathes和Like关键字支持通配符匹配,但这种匹配特别耗时。做这类查询时注意查询语句的写法是否合理。
- 使用临时表加速查询
- 把表的一个子集进行排序并创建临时表,有时能加速查询。它有助于避免多重排序操作,而且在其他方面还能简化优化器的工作。临时表中的行要比主表中的行少,而且物理顺序就是所要求的顺序,减少了磁盘I/O,所以查询工作量可以得到大幅减少。
.Net编程性能设计考虑
- 程序的优化是系统性能保证的主要
- 充分利用缓存技术
- 缓存是常用的提高性能的技术,它将访问频率高的数据或构造成本高的数据保留在内存中。在 Web 应用程序的上下文中,缓存用于在 HTTP 请求间保留页或数据,并在无需重新创建的情况下重新使用它们。
- ASP.NET 有三种可由 Web 应用程序使用的缓存:
- 输出缓存,它缓存请求所生成的动态响应。
- 片断缓存,它缓存请求所生成的响应的各部分。
- 数据缓存,它以编程方式缓存任意对象。
- 应用程序以及生成的用户页面,根据实际需要设置输出缓存;对于经常用到的用户控件使用片断缓存;对于系统配置信息使用数据缓存。
- 慎用ViewState
- EnableViewState(页面的视图状态)。如果无特殊要求设置为false。
- 使用ViewState ,每个对象都必须先序列化到 ViewState 中,然后再通过回传进行反序列化,因此使用 ViewState是有代价的。尽量减少使用对象,如果可能,尽量减少放入 ViewState 中的对象的数目。
- 项目发布的时候解除页面的Debug状态。
- 借助客户端的力量
- 尽量选择html控件。能在客户端实现的功能就在客户端实现,减少服务器的压力。数据控件选择顺序:Repeater、DataList、DataGrid
其他性能因素
- 系统上线前做严格的压力测试
- 只有在系统上线和每个新增应用上线前做好了严格的压力测试,才能保证系统的性能是基本可控的。
- 尽可能采用静态页面
- 对于内容基本固定,变动频度极小而访问量大的页面,我们可以采用纯静态页面。对于变动频度相对小的页面和应用,可以采用.NET输出缓存的技术,避免频繁的数据查询和页面重新编译等。
- 减少大数据量运算
- 如系统用户行为的统计分析,数据量可能很大,可以定时在晚上系统负载小的时候进行,分析的结果保存供需要时访问。避免负载高峰时做长时间的运算,影响整个系统的运行效率。
- 系统性能优化
- 当系统出现性能问题时,检查性能问题和系统性能的优化可以从以下几个层面着手:
- 系统级(包括系统的软硬件配置)
- 数据库级(包括数据库设计和编程)
- 应用程序程序级(包括应用实现的设计和编码)
使用高速缓存技术
- 系统的性能的最大瓶颈是系统的磁盘IO,使用高速缓存技术,减少磁盘IO的负载,可大幅度提高系统的性能。
- 在一些典型测试结果中,使用高速缓存的系统性能可以提高500倍。
- 客户关系管理系统的高速缓存有两个方面的应用:
- 编程高速缓存
- 系统高速缓存
- 系统高速缓存是一种内存映射技术,即将内存和磁盘映射起来,由系统的服务层建立硬盘的内存映像,应用程序在内存中访问磁盘。
|
|
|