贵的未必是好的:T5220和X86服务器上Oracle性能之比较
在Solaris上跑Oracle已经10多年了。OS从2.6熬到10,DB从8.1熬到10.2。别说,这种组合还真给力。这么多年,就是没出过啥问题。 3年前的2010年,硬件更新换代。行政上仗着预算富裕,硬是否定了技术人员的升级方案,购买了当时比较高档的T5220。 T5220服务器使
在Solaris上跑Oracle已经10多年了。OS从2.6熬到10,DB从8.1熬到10.2。别说,这种组合还真给力。这么多年,就是没出过啥问题。
3年前的2010年,硬件更新换代。行政上仗着预算富裕,硬是否定了技术人员的升级方案,购买了当时比较高档的T5220。
T5220服务器使用UltraSPARC T2 CPU。该CPU的时钟速度并不高,只有1.2GHz,但是有4个核,而且每个核上可以挂接8个线程,从而构成了32个虚拟CPU。
但是,在此服务器上跑Oracle 10g Standard Edition (10g SE)时,Oracle的每个过程最多只能占有1个(虚拟)CPU的处理能力,也就是最大能使用整个CPU的1/32的能力。
而以前的V240服务器,虽然只有2个物理CPU,但每个过程可独享1个CPU,这就是说最大能使用整个CPU的1/2的能力。
在月末处理时,V240的CPU使用率在1号前后的大约1周时间经常达到80%以上,有时候甚至达到100%。
但是,自从移到T5220后,CPU的最大使用率从来都在18%左右。用户也抱怨这款贵且慢的服务器。
对于多线程,并发处理等,T5220可能比较好,对于处理相对集中的公司业务,T5220不是个好的选择。
为了给行政方面证明以上结论,借用VM服务器的一角,对T5220和X86,就现行的Oracle系统做了一番性能比较。
1. 调查对象服务器的构成
T5220 |
X86 |
|
CPU |
UltraSPARC T2 |
Virtual X86 |
速度 |
1.2G |
2.5G |
个数 |
4芯/32线程 |
2 |
Memory |
16G |
16G |
OS |
Solaris 10 |
Solaris 11 |
DB |
Oracle 10g |
Oracle 11g |
2. Oracle性能比较
2.1 Batch处理
x86比T5220要快7.5-9.7倍。
T5220 (分) |
X86 (分) |
Ratio (T5220/X86) |
|
Apex 4.1.1安装时间 |
83 |
11 |
7.5 |
主要记账系统処理時間 |
61 |
6.3 |
9.7 |
主要业务数据的Upload |
25 |
3 |
8.3 |
2.2 APEX的Web页面
Application A 的重负荷页面的显示时间X86要快1.7倍到9.3倍。
Application B也有显著改善,从5.4到43倍不等。
|
|
|
|
T5220 |
|
X86 |
|
||
ID |
Name |
Page Name |
|
Freq. |
Time(s) |
|
Freq. |
Time(s) |
Ratio |
107 |
Appli.A |
INFO_LIST |
|
315 |
1.03 |
|
3 |
0.62 |
1.7 |
107 |
Appli.A |
Contract Management |
|
576 |
1.7 |
|
3 |
0.51 |
3.3 |
107 |
Appli.A |
SALES |
|
776 |
2.85 |
|
4 |
0.56 |
5.1 |
107 |
Appli.A |
APPROVE |
|
5 |
1.3 |
|
2 |
0.22 |
5.9 |
107 |
Appli.A |
Seminar Enrolments |
|
48 |
1.46 |
|
3 |
0.24 |
6.1 |
107 |
Appli.A |
I-company Order |
|
7 |
2.18 |
|
3 |
0.32 |
6.8 |
107 |
Appli.A |
BizCase-Real Time |
|
605 |
1.43 |
|
5 |
0.2 |
7.2 |
107 |
Appli.A |
BizCase Summary |
|
24 |
3.25 |
|
2 |
0.35 |
9.3 |
|
|
|
|
|
|
|
|
|
|
104 |
Appli.B |
Application Form I |
|
2 |
7.23 |
|
6 |
0.68 |
10.6 |
104 |
Appli.B |
Detail Information II |
|
4 |
4.74 |
|
6 |
0.11 |
43.1 |
104 |
Appli.B |
Detail Information I |
|
4 |
3.68 |
|
6 |
0.68 |
5.4 |
104 |
Appli.B |
Application Form II |
|
4 |
1.37 |
|
6 |
0.19 |
7.2 |
2.3 C Compiler
SAPRC系统上的C程序在X86上编译/执行未发现问题。
3. HDD的写入速度*
因为使用VM的缘故,X86的写入速度要比T5220慢。
(VM Host服务器使用转速10k的SAS型HDD。)
|
from |
to |
Size (MB) |
time (s) |
Speed (MB/s) |
X86 |
Scsi Disk 1 |
Scsi Disk 2 |
1236 |
63 |
19.6 |
T5220 |
Scsi Disk 1 |
Scsi Disk 2 |
1109 |
8 |
138.6 |
4. 结论
T5220的处理速度是整个系统的瓶颈。
在X86 CPU上运行在Sparc CPU上的系统未出现功能问题。
本测试中使用的X86服务器比T5220服务器要快得多。
5. 参考资料(服务器选型辅助信息)
Solaris 11 Hardware Compatibility List: (按厂家排序)
http://www.oracle.com/webfolder/technetwork/hcl/data/s11ga/systems/views/nonoracle_systems_servers.mfg.page1.html

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Oracle 打不開的解決辦法包括:1. 啟動數據庫服務;2. 啟動監聽器;3. 檢查端口衝突;4. 正確設置環境變量;5. 確保防火牆或防病毒軟件未阻止連接;6. 檢查服務器是否已關閉;7. 使用 RMAN 恢復損壞的文件;8. 檢查 TNS 服務名稱是否正確;9. 檢查網絡連接;10. 重新安裝 Oracle 軟件。

解決 Oracle 游標關閉問題的方法包括:使用 CLOSE 語句顯式關閉游標。在 FOR UPDATE 子句中聲明游標,使其在作用域結束後自動關閉。在 USING 子句中聲明游標,使其在關聯的 PL/SQL 變量關閉時自動關閉。使用異常處理確保在任何異常情況下關閉游標。使用連接池自動關閉游標。禁用自動提交,延遲游標關閉。

Oracle 中,FOR LOOP 循環可動態創建游標, 步驟為:1. 定義游標類型;2. 創建循環;3. 動態創建游標;4. 執行游標;5. 關閉游標。示例:可循環創建游標,顯示前 10 名員工姓名和工資。

Oracle 數據庫分頁利用 ROWNUM 偽列或 FETCH 語句實現:ROWNUM 偽列用於通過行號過濾結果,適用於復雜查詢。 FETCH 語句用於獲取指定數量的第一行,適用於簡單查詢。

要停止 Oracle 數據庫,請執行以下步驟:1. 連接到數據庫;2. 優雅關機數據庫(shutdown immediate);3. 完全關機數據庫(shutdown abort)。

在CentOS系統上搭建Hadoop分佈式文件系統(HDFS)需要多個步驟,本文提供一個簡要的配置指南。一、前期準備安裝JDK:在所有節點上安裝JavaDevelopmentKit(JDK),版本需與Hadoop兼容。可從Oracle官網下載安裝包。環境變量配置:編輯/etc/profile文件,設置Java和Hadoop的環境變量,使系統能夠找到JDK和Hadoop的安裝路徑。二、安全配置:SSH免密登錄生成SSH密鑰:在每個節點上使用ssh-keygen命令

可以通過使用 Oracle 的動態 SQL 來根據運行時輸入創建和執行 SQL 語句。步驟包括:準備一個空字符串變量來存儲動態生成的 SQL 語句。使用 EXECUTE IMMEDIATE 或 PREPARE 語句編譯和執行動態 SQL 語句。使用 bind 變量傳遞用戶輸入或其他動態值給動態 SQL。使用 EXECUTE IMMEDIATE 或 EXECUTE 執行動態 SQL 語句。

Oracle 日誌文件寫滿時,可採用以下解決方案:1)清理舊日誌文件;2)增加日誌文件大小;3)增加日誌文件組;4)設置自動日誌管理;5)重新初始化數據庫。在實施任何解決方案前,建議備份數據庫以防數據丟失。
