0

0

如何通过IBM DB2 for Linux、UNIX和Windows支持250000次SQL查询

php中文网

php中文网

发布时间:2016-06-07 17:54:31

|

1140人浏览过

|

来源于php中文网

原创

2011 年的黑色星期五,美国顶尖零售商如何通过 ibm db2 for linuxunixwindows 每秒钟成功支持 250,000 次 sql 查询。 黑色星期五(美国感恩节过后的星期五)是零售商一年之中最繁忙的一天。这一天之后紧跟着网络星期一和另外几天活动高峰期。在此期间

2011 年的黑色星期五,美国顶尖零售商如何通过 ibm db2 for linux、unix 和 windows 每秒钟成功支持 250,000 次 sql 查询。

黑色星期五(美国感恩节过后的星期五)是零售商一年之中最繁忙的一天。这一天之后紧跟着网络星期一和另外几天活动高峰期。在此期间,零售商的网站性能对于全年盈利至关重要。几大领先零售商纷纷选用 IBM® Commerce Server、IBM DB2® for Linux、UNIX and Windows (LUW) 为其电子商务引擎提供技术支持,能够为他们服务我感到非常幸运。

提供卓越的交易性能至关重要,但由于很多零售商明白高性能可能意味着需要支付高费用。零售商如何在降低潜在高交易费用的同时,最大限度地提高性能?

有一种方法能够辨别成本削减领域,我已经为这些杰出企业提供指导和支持长达数年之久。采用这项建议的公司纷纷获得了巨大的成功,而这里的重点是电子商务,原则具有普遍适用性,适用于所有在线事务处理 (OLTP) ,包括 SAP、Siebel、PeopleSoft 和 Manhattan Associates,另外还适用于自主开发应用程序以及其他许多应用程序。

按照自己的方式操作

您的 DB2 LUW 具有一定的处理能力,或许这很像您的个人预算。您必须按照自己的方式生活,您的必须在能力范围内运行。为了在有限的能力范围内兴旺发展,您必须控制自己的成本。很显然,您无法印刷钞票,这种做法不合法,并且我也不主张投入更多资金购买更多的硬件,因为性能问题不可能通过购买额外的硬件得到彻底解决(至少需要控制在合理的费用范围内)。

降低成本 = 提高利润

这将会得出一个最基本的道理:您需要重点控制 DB2 的内部执行成本。许多用户希望采用 db2top、db2pd 或其他产品并考察价格。价格可能非常有趣,但却并不十分有用,因为价格可能会因为用户数量、时间段或业务周期而存在很大的差异。

另一方面,在未进行重大调整的情况下,费用相对恒定。无论是 100 名用户还是 10,000 名用户都没有关系,产品查询事务将会执行一定数量的 SQL 语句,这些 SQL 语句将带动一定数量的逻辑和物理 I/O 操作,同时消耗 CPU 周期。虽然您可以通过扩大缓冲池和 SORTHEAP 内存来避免 I/O 操作,但内存中的页面逻辑 I/O 仍会消耗宝贵的 CPU 周期。

那么,如何才能降低 CPU 成本呢?

Chromox
Chromox

Chromox是一款领先的AI在线生成平台,专为喜欢AI生成技术的爱好者制作的多种图像、视频生成方式的内容型工具平台。

下载

发现问题只是成功的一半

中国古语有云,“一旦明确说明了问题,问题也就解决了一半。”如果您希望 OLTP 电子商务应用程序能够以最快的速度运行,那么您需要准确回答下面这项紧要问题“哪项开支最大?”只有了解最高执行成本出现在哪儿,您才能采取一些措施来降低这些成本。

无可逃避

降低成本包括进行物理设计调整。具体而言,必须根据事务工作负载需求来创建、调整或放弃索引。不要试图将索引设计问题隐藏在巨大的缓冲池背后,这种做法只会耗尽您的 CPU 容量,而锁定遗留问题仍然存在。随着服务器 CPU 利用率开始超过 90%,事务响应时间可能会十分迅速地下降。CPU 利用率需要得到妥善管理,因此问题就变成了:您应当尽量避免哪些会消耗 CPU 时间的环节?

应对高成本问题的关键

我曾帮助过一家顶级美国零售商降低成本,我们通过辨别以下四个领域的潜在问题来实现此目标:
 热点:这些数据库表消耗最高的读取 I/O 成本。目前面临的挑战在于,找出这些费用代表了哪一部分的数据库读取 I/O。
 痛点:要找到痛点,请寻找成本最高的 SQL 语句,在综合汇总过程中,这会促使读取 I/O 进入热点表。
 麻烦制造者:这些表已经承受了最高写入 I/O。在这些表中,每个表上哪些是已定义的索引,哪些表拥有较低的基数?
 双重麻烦:如果这些表正在遭受过度溢出访问,则需要进行重组。
通过专心处理这些领域,零售商取得了一些令人印象深刻的成果。让我们分别研究每个领域。

热点

由于索引是在表上创建的,所以索引被设计为降低事务处理成本的主要解决方案,您必须查看表 I/O。要确定数据库事务的平均表 I/O 成本,请用每个表的 ROWS_READ 除以 (COMMITS_ATTEMPTED + ROLLBACKS_ATTEMPTED)。您的电子商务网站必须在高峰期提供出色的性能,每个表的读取 I/O 成本应当小于 10。如果成本不小于 10,那么要么会遗漏索引,要么需要改进索引。您还可以计算每个表的读取行数比例,只需用 ROWS_READ 除以所有表的全部 ROWS_READ 的总和,然后用得出的数值乘以 100。如果任何表出现高比例且 I/O 成本大于 10,那么说明您已经“明确说明了问题”,问题也就解决了一半。

但是,痛点、麻烦制造者和双重麻烦又分别代表着什么?本文的第 2 部分将对影响成本的其他三个关键领域进行探讨。

相关专题

更多
C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

6

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

16

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.22

PHP特殊符号教程合集
PHP特殊符号教程合集

本专题整合了PHP特殊符号相关处理方法,阅读专题下面的文章了解更多详细内容。

9

2026.01.22

PHP探针相关教程合集
PHP探针相关教程合集

本专题整合了PHP探针相关教程,阅读专题下面的文章了解更多详细内容。

7

2026.01.22

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

24

2026.01.22

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
oracle基础视频教程
oracle基础视频教程

共31课时 | 6.6万人学习

SQL 教程
SQL 教程

共61课时 | 3.5万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号