2.2部署应用程序的准则
为了获得最佳性能,请像设计应用程序时一样谨慎地部署应用程序。
本节包含以下主题:
- 在测试环境中部署的准则
测试过程主要包括功能和稳定性测试。在过程中的某个时刻,您必须执行性能测试。 - 应用
程序部署指南推出新应用程序时,通常采用两种策略:“大爆炸”方法(所有用户立即迁移到新系统)和“滴流”方法(用户缓慢地从现有系统迁移到新系统)。一。
父主题: SQL性能方法论
2.2.1指南在测试环境中部署
测试过程主要包括功能和稳定性测试。在过程中的某个时刻,您必须执行性能测试。
下表描述了对应用程序进行性能测试的简单规则。如果记录正确,则此列表为生产应用程序和应用程序上线后的产能计划过程提供重要信息。
- 使用自动数据库诊断监视器(ADDM)和SQL Tuning Advisor进行设计验证。
- 使用实际的数据量和分布进行测试。
所有测试都必须使用完全填充的表进行。测试数据库应包含表之间的数据量和基数表示生产系统的数据。应该建立所有生产索引,并正确填充模式统计信息。
- 使用正确的优化器模式。
使用计划在生产中使用的优化器模式执行所有测试。
- 测试单个用户的性能。
在空闲或少量使用的数据库上测试单个用户的性能是否可接受。如果单个用户无法在理想条件下达到可接受的性能,那么多个用户将无法在实际条件下达到可接受的性能。
- 获取并记录所有SQL语句的计划。
获取每个SQL语句的执行计划。使用此过程来验证优化器正在获得最佳执行计划,并且可以从CPU时间和物理I / O方面理解SQL语句的相对成本。此过程有助于确定将来需要大量调整和性能工作的频繁使用的事务。
- 尝试多用户测试。
由于可能无法完全量化用户的工作量和配置文件,因此此过程难以准确执行。但是,应测试执行DML语句的事务,以确保不存在锁定冲突或序列化问题。
- 使用正确的硬件配置进行测试。
使用尽可能接近生产系统的配置进行测试。对于网络延迟,I / O子系统带宽以及处理器类型和速度而言,使用现实的系统尤为重要。未能使用此方法可能会导致对潜在性能问题的错误分析。
- 测量稳态性能。
进行基准测试时,测量稳态条件下的性能非常重要。每次基准测试运行都应具有加速阶段,在该阶段中,用户已连接到应用程序,并逐渐开始在应用程序上执行工作。此过程允许将频繁缓存的数据初始化到缓存中,并在稳态条件之前完成单个执行操作(例如解析)。同样,在运行基准测试之后,减速期非常有用,这样系统可以释放资源,并且用户可以停止工作并断开连接。
父主题: 部署应用程序的准则
2.2.2申请指引首次展示
推出新应用程序时,通常会采用两种策略:“大爆炸”方法(所有用户立即迁移到新系统)和“ le流”方法(用户缓慢地从现有系统迁移到新系统)。
两种方法各有优缺点。Big Bang方法依赖于在所需规模上对应用程序进行可靠的测试,但由于只需将其关闭,因此具有数据转换和与旧系统同步最少的优点。Trickle方法允许随着工作负载的增加而调试可伸缩性问题,但是这可能意味着在进行过渡时必须将数据迁移到旧系统中或从旧系统中迁移出来。
很难推荐一种方法来替代另一种方法,因为每种技术都有相关的风险,随着过渡的进行,这些风险可能导致系统中断。当然,Trickle方法允许在将真实用户引入新应用程序时对其进行性能分析,并允许重新配置系统,同时仅影响迁移的用户。这种方法影响了早期采用者的工作,但限制了支持服务的负担。因此,计划外中断仅影响一小部分用户。
关于如何推出新应用程序的决定是针对每个企业的。任何采用的方法都有其独特的压力和压力。从测试过程中获得的测试和知识越多,您就越会意识到最适合推出的内容。




