贵的未必是好的: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

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Solutions to Oracle cannot be opened include: 1. Start the database service; 2. Start the listener; 3. Check port conflicts; 4. Set environment variables correctly; 5. Make sure the firewall or antivirus software does not block the connection; 6. Check whether the server is closed; 7. Use RMAN to recover corrupt files; 8. Check whether the TNS service name is correct; 9. Check network connection; 10. Reinstall Oracle software.

The method to solve the Oracle cursor closure problem includes: explicitly closing the cursor using the CLOSE statement. Declare the cursor in the FOR UPDATE clause so that it automatically closes after the scope is ended. Declare the cursor in the USING clause so that it automatically closes when the associated PL/SQL variable is closed. Use exception handling to ensure that the cursor is closed in any exception situation. Use the connection pool to automatically close the cursor. Disable automatic submission and delay cursor closing.

In Oracle, the FOR LOOP loop can create cursors dynamically. The steps are: 1. Define the cursor type; 2. Create the loop; 3. Create the cursor dynamically; 4. Execute the cursor; 5. Close the cursor. Example: A cursor can be created cycle-by-circuit to display the names and salaries of the top 10 employees.

To stop an Oracle database, perform the following steps: 1. Connect to the database; 2. Shutdown immediately; 3. Shutdown abort completely.

Building a Hadoop Distributed File System (HDFS) on a CentOS system requires multiple steps. This article provides a brief configuration guide. 1. Prepare to install JDK in the early stage: Install JavaDevelopmentKit (JDK) on all nodes, and the version must be compatible with Hadoop. The installation package can be downloaded from the Oracle official website. Environment variable configuration: Edit /etc/profile file, set Java and Hadoop environment variables, so that the system can find the installation path of JDK and Hadoop. 2. Security configuration: SSH password-free login to generate SSH key: Use the ssh-keygen command on each node

When Oracle log files are full, the following solutions can be adopted: 1) Clean old log files; 2) Increase the log file size; 3) Increase the log file group; 4) Set up automatic log management; 5) Reinitialize the database. Before implementing any solution, it is recommended to back up the database to prevent data loss.

Oracle is not only a database company, but also a leader in cloud computing and ERP systems. 1. Oracle provides comprehensive solutions from database to cloud services and ERP systems. 2. OracleCloud challenges AWS and Azure, providing IaaS, PaaS and SaaS services. 3. Oracle's ERP systems such as E-BusinessSuite and FusionApplications help enterprises optimize operations.

SQL statements can be created and executed based on runtime input by using Oracle's dynamic SQL. The steps include: preparing an empty string variable to store dynamically generated SQL statements. Use the EXECUTE IMMEDIATE or PREPARE statement to compile and execute dynamic SQL statements. Use bind variable to pass user input or other dynamic values to dynamic SQL. Use EXECUTE IMMEDIATE or EXECUTE to execute dynamic SQL statements.
