Oracle数据库压力测试方法实战
前言
由于生产环境硬件已使用7年,近期打算把核心系统迁移到新购的深信服超融合服务器上。但担心超融合的性能不能满足当前生成环境Oracle 11.2.0.4 RAC的迁移。我们可以先在超融合搭建一套Oracle11g RAC环境,在没有真实业务数据的情况下做一些基本的CPU,IO,事务的压力测试。再根据实际情况做全面的迁移测试。
测试环境
CPU 16c,内存 256G,操作系统版本Oracle Linux Server 7.9,数据库版本11.2.0.4 RAC
[root@cmsdb1 ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 1
Core(s) per socket: 16
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 15
Model name: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
Stepping: 11
CPU MHz: 2394.372
BogoMIPS: 4788.74
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0-15
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc rep_good nopl cpuid tsc_known_freq pni ssse3 cx16 pcid sse4_2 x2apic hypervisor lahf_lm cpuid_fault pti
[root@cmsdb1 ~]# free -h
total used free shared buff/cache available
Mem: 251G 1.4G 238G 10G 11G 236G
Swap: 31G 0B 31G
[root@cmsdb1 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)
[root@cmsdb1 ~]# cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.9"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Oracle Linux Server 7.9"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:9:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://github.com/oracle/oracle-linux"
ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7"
ORACLE_BUGZILLA_PRODUCT_VERSION=7.9
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.9
[root@cmsdb1 ~]# su - grid
Last login: Wed Jul 3 18:35:05 CST 2024 on pts/3
[grid@cmsdb1 ~]$ asmcmd lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 1048576 409598 409499 0 409499 0 N ARCH/
MOUNTED EXTERN N 512 4096 1048576 3145725 2745476 0 2745476 0 N DATA/
MOUNTED NORMAL N 512 4096 1048576 30717 29791 10239 9776 0 Y OCR/
[grid@cmsdb1 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.ARCH.dg ora....up.type ONLINE ONLINE cmsdb1
ora.DATA.dg ora....up.type ONLINE ONLINE cmsdb1
ora....ER.lsnr ora....er.type ONLINE ONLINE cmsdb1
ora....N1.lsnr ora....er.type ONLINE ONLINE cmsdb2
ora.OCR.dg ora....up.type ONLINE ONLINE cmsdb1
ora.asm ora.asm.type ONLINE ONLINE cmsdb1
ora.cmsbj.db ora....se.type ONLINE ONLINE cmsdb1
ora....SM1.asm application ONLINE ONLINE cmsdb1
ora....B1.lsnr application ONLINE ONLINE cmsdb1
ora.cmsdb1.gsd application OFFLINE OFFLINE
ora.cmsdb1.ons application ONLINE ONLINE cmsdb1
ora.cmsdb1.vip ora....t1.type ONLINE ONLINE cmsdb1
ora....SM2.asm application ONLINE ONLINE cmsdb2
ora....B2.lsnr application ONLINE ONLINE cmsdb2
ora.cmsdb2.gsd application OFFLINE OFFLINE
ora.cmsdb2.ons application ONLINE ONLINE cmsdb2
ora.cmsdb2.vip ora....t1.type ONLINE ONLINE cmsdb2
ora.cvu ora.cvu.type ONLINE ONLINE cmsdb2
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora....network ora....rk.type ONLINE ONLINE cmsdb1
ora.oc4j ora.oc4j.type ONLINE ONLINE cmsdb2
ora.ons ora.ons.type ONLINE ONLINE cmsdb1
ora.scan1.vip ora....ip.type ONLINE ONLINE cmsdb2
[grid@cmsdb1 ~]$ exit
[root@cmsdb1 ~]# su - oracle
Last login: Thu Jul 4 16:31:07 CST 2024 on pts/1
[oracle@cmsdb1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jul 4 16:31:47 2024
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
SQL> select status from gv$instance;
STATUS
------------
OPEN
OPEN
SQL>