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

2011 年的黑色星期五,美國頂尖零售商如何通過 ibm db2 for linux、unix 和 windows 每秒鐘成功支持 250,000 次 sql 查詢。 黑色星期五(美國感恩節(jié)過后的星期五)是零售商一年之中最繁忙的一天。這一天之后緊跟著網(wǎng)絡星期一和另外幾天活動高峰期。在此期間

2011 年的黑色星期五,美國頂尖零售商如何通過 ibm db2 for linux、unix 和 windows 每秒鐘成功支持 250,000 次 sql 查詢。

黑色星期五(美國感恩節(jié)過后的星期五)是零售商一年之中最繁忙的一天。這一天之后緊跟著網(wǎng)絡星期一和另外幾天活動高峰期。在此期間,零售商的網(wǎng)站性能對于全年盈利至關重要。幾大領先零售商紛紛選用 IBM? Commerce Server、IBM DB2? for Linux、UNIX and Windows (LUW) 為其電子商務引擎提供技術支持,能夠為他們服務我感到非常幸運。

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

有一種方法能夠辨別成本削減領域,我已經(jīng)為這些杰出企業(yè)提供指導和支持長達數(shù)年之久。采用這項建議的公司紛紛獲得了巨大的成功,而這里的重點是電子商務,原則具有普遍適用性,適用于所有在線事務處理 (OLTP) ,包括 SAP、Siebel、PeopleSoft 和 Manhattan Associates,另外還適用于自主開發(fā)應用程序以及其他許多應用程序。

按照自己的方式操作

您的 DB2 LUW 具有一定的處理能力,或許這很像您的個人預算。您必須按照自己的方式生活,您的必須在能力范圍內(nèi)運行。為了在有限的能力范圍內(nèi)興旺發(fā)展,您必須控制自己的成本。很顯然,您無法印刷鈔票,這種做法不合法,并且我也不主張投入更多資金購買更多的硬件,因為性能問題不可能通過購買額外的硬件得到徹底解決(至少需要控制在合理的費用范圍內(nèi))。

降低成本 = 提高利潤

這將會得出一個最基本的道理:您需要重點控制 DB2 的內(nèi)部執(zhí)行成本。許多用戶希望采用 db2top、db2pd 或其他產(chǎn)品并考察價格。價格可能非常有趣,但卻并不十分有用,因為價格可能會因為用戶數(shù)量、時間段或業(yè)務周期而存在很大的差異。

另一方面,在未進行重大調(diào)整的情況下,費用相對恒定。無論是 100 名用戶還是 10,000 名用戶都沒有關系,產(chǎn)品查詢事務將會執(zhí)行一定數(shù)量的 SQL 語句,這些 SQL 語句將帶動一定數(shù)量的邏輯和物理 I/O 操作,同時消耗 CPU 周期。雖然您可以通過擴大緩沖池和 SORTHEAP 內(nèi)存來避免 I/O 操作,但內(nèi)存中的頁面邏輯 I/O 仍會消耗寶貴的 CPU 周期。

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

發(fā)現(xiàn)問題只是成功的一半

中國古語有云,“一旦明確說明了問題,問題也就解決了一半。”如果您希望 OLTP 電子商務應用程序能夠以最快的速度運行,那么您需要準確回答下面這項緊要問題“哪項開支最大?”只有了解最高執(zhí)行成本出現(xiàn)在哪兒,您才能采取一些措施來降低這些成本。

無可逃避

降低成本包括進行物理設計調(diào)整。具體而言,必須根據(jù)事務工作負載需求來創(chuàng)建、調(diào)整或放棄索引。不要試圖將索引設計問題隱藏在巨大的緩沖池背后,這種做法只會耗盡您的 CPU 容量,而鎖定遺留問題仍然存在。隨著服務器 CPU 利用率開始超過 90%,事務響應時間可能會十分迅速地下降。CPU 利用率需要得到妥善管理,因此問題就變成了:您應當盡量避免哪些會消耗 CPU 時間的環(huán)節(jié)?

應對高成本問題的關鍵

我曾幫助過一家頂級美國零售商降低成本,我們通過辨別以下四個領域的潛在問題來實現(xiàn)此目標:
? 熱點:這些數(shù)據(jù)庫表消耗最高的讀取 I/O 成本。目前面臨的挑戰(zhàn)在于,找出這些費用代表了哪一部分的數(shù)據(jù)庫讀取 I/O。
? 痛點:要找到痛點,請尋找成本最高的 SQL 語句,在綜合匯總過程中,這會促使讀取 I/O 進入熱點表。
? 麻煩制造者:這些表已經(jīng)承受了最高寫入 I/O。在這些表中,每個表上哪些是已定義的索引,哪些表擁有較低的基數(shù)?
? 雙重麻煩:如果這些表正在遭受過度溢出訪問,則需要進行重組。
通過專心處理這些領域,零售商取得了一些令人印象深刻的成果。讓我們分別研究每個領域。

熱點

由于索引是在表上創(chuàng)建的,所以索引被設計為降低事務處理成本的主要解決方案,您必須查看表 I/O。要確定數(shù)據(jù)庫事務的平均表 I/O 成本,請用每個表的 ROWS_READ 除以 (COMMITS_ATTEMPTED + ROLLBACKS_ATTEMPTED)。您的電子商務網(wǎng)站必須在高峰期提供出色的性能,每個表的讀取 I/O 成本應當小于 10。如果成本不小于 10,那么要么會遺漏索引,要么需要改進索引。您還可以計算每個表的讀取行數(shù)比例,只需用 ROWS_READ 除以所有表的全部 ROWS_READ 的總和,然后用得出的數(shù)值乘以 100。如果任何表出現(xiàn)高比例且 I/O 成本大于 10,那么說明您已經(jīng)“明確說明了問題”,問題也就解決了一半。

但是,痛點、麻煩制造者和雙重麻煩又分別代表著什么?本文的第 2 部分將對影響成本的其他三個關鍵領域進行探討。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享