|
 |
|
Oracle Database Tips by Donald Burleson
|
SCSI/ATA
Scenario Comparisons
Recall that the testing architecture utilized
consisted of both a SCSI array and an ATA array. The SCSI array
consisted of two striped 15K RPM 36 Gigabyte Cheetah SCSI disks with a
strip width of 128K, which is a standard stripe width used in many
Oracle installations. And when that array failed, a 7 disk ATA array
of 7200 RPM 200 gigabyte ATA drives striped at 64K.
Due to the failure of the SCSI array, its initial
results were compared to the initial ATA results. Since the difference
for query performance was less than 5%, the SCSI results were
discarded and the ATA results used for the tests.
In the SCSI/ATA query runs there was more
diversity in the results as evidence by the data in Table 4.2.
SCSI/ATA QUERY |
RUN1 |
RUN2 |
RUN3 |
RUN4 |
RUN5 |
1 |
86400.00 |
86400.00 |
86400.00 |
86400.00 |
86400.00 |
2 |
207.62 |
161.84 |
162.90 |
165.08 |
358.03 |
3 |
0.00 |
86400.00 |
86400.00 |
12657.46 |
4317.06 |
4 |
4313.82 |
3666.76 |
3372.94 |
243.31 |
228.24 |
5 |
13568.08 |
17804.46 |
0.00 |
2145.11 |
1912.33 |
6 |
61926.08 |
61367.15 |
61547.58 |
4823.09 |
4581.85 |
7 |
133456.46 |
132743.60 |
86400.00 |
23259.28 |
22497.74 |
7a |
33038.67 |
40758.41 |
41817.98 |
13807.28 |
4158.16 |
8 |
36062.61 |
46331.87 |
284.91 |
5361.54 |
8134.71 |
9 |
4779.68 |
5138.53 |
86400.00 |
1550.05 |
406.09 |
10 |
6125.83 |
9278.53 |
5544.37 |
1164.96 |
347.61 |
11 |
1650.96 |
1144.37 |
62632.58 |
5602.72 |
8191.45 |
12 |
249.64 |
319.86 |
0.00 |
300.85 |
256.31 |
13 |
86400.00 |
86400.00 |
5283.60 |
444.54 |
457.22 |
13a |
86400.00 |
86400.00 |
86400.00 |
86400.00 |
131326.99 |
14 |
106.79 |
75.49 |
0.00 |
94.00 |
86.51 |
14a |
917.28 |
1323.80 |
1228.10 |
154.44 |
108.91 |
15 |
2803.80 |
1511.22 |
0.00 |
1205.10 |
690.55 |
16 |
1958.00 |
2309.16 |
1909.33 |
662.30 |
519.49 |
17 |
65826.95 |
66631.73 |
86400.00 |
10388.28 |
7947.97 |
18 |
118.65 |
86400.00 |
86400.00 |
4597.52 |
3471.07 |
19 |
120.06 |
222.30 |
108.98 |
49.91 |
46.28 |
Total
Sec |
626430.98 |
822789.08 |
788693.27 |
261476.82 |
286444.57 |
Total
Days |
7.25 |
9.52 |
9.13 |
3.03 |
3.32 |
Table 4.2:
Raw Data from the ATA Query Runs
Given that the reads were spread over 7 disks in
the ATA array which provided an effective possible read profile of
nearly a thousand or more I/O's/sec and assuming an I/O of at least
one stripe width would translate into 64 megabyte to 128 megabyte
I/O's per second. 64k is standard I/O for most UNIX environments with
a maximum physical I/O possible of roughly 1 megabyte. From the
env dump, the Linux system was set at the default of 128K
maximum physical I/O.
The ATA array was expected to perform much better
than it did in these tests. Here is a look at the SCSI/ATA results.
Standard SCSI/ATA Runs
Runs 1 and 2 were standard query runs with the
exception that they were performed using
nologging and
no archivelog mode. With
notable differences, in most cases run 1 query times were longer than
run 2 times due to the increased need for disk reads to populate the
data cache in the Oracle memory system. Table 4.2 shows that several
queries weren't able to run to completion and overall performance was
poor.
Run 3 with Temporary and
Undo on SSD
Run 3 placed the temporary and undo segments on
the SSD array. This improved the response time for queries that used
many sorts or hash joins such as 8, 10 and 13. This allowed 13 to
finish in less than 24 hours. But overall, the gains did not outweigh
the losses. For this size database the hash and sort activity was able
to complete within the 2 gigabytes allowed for the
pga_max_allocation
set point. Moving the temporary
tablespace to SSD was not a big factor in performance. Since nologging
was used while performing query activity, the undo requirements were
minimal. Consequently, moving the undo segments also had little effect
on performance. However, in databases where there were more temporary
and undo related waits, this would play more of a factor in query
performance.
Run 4 with DATA on SSD
In run 4 the data segments were moved to the SSD
and the temporary and undo segments were placed back on normal drives.
While taking into consideration the two queries that could not
complete, the total run time still improved by a factor of 3. And in
many cases the run times even improved by a factor of 10.
Dramatic improvement is to be expected considering
the large number of scattered and sequential read waits experienced by
the instance. While moving the data files to the SSD arrays may not
affect the number of such waits, it dramatically affects the duration
of each wait.
Run 5 with Data on SSD and
Reduced Memory
In an effort to gauge the importance of setting
db_cache_size
when using SSD assets, in run 5 the
db_cache_size was reduced by 50% from 1 gigabyte to 500
megabytes. The results were surprising in that the overall run time
was reduced by 8 percent with most queries showing some improvement in
runtime. However, this may be affected by several queries that didn't
complete before having completed run 4 and populating the smaller
cache with useful data. This would be one area of additional research
for future work.
This is an excerpt from the book
Oracle
Solid State Disk Tuning.
You can get it for more than 30% by buying it directly from the
publisher and get immediate access to working code examples.
Market Survey of SSD vendors for
Oracle:
There are many vendors who offer rack-mount solid-state disk that
work with Oracle databases, and the competitive market ensures that
product offerings will continuously improve while prices fall.
SearchStorage notes that SSD is will soon replace platter disks and that
hundreds of SSD vendors may enter the market:
"The number of vendors in this category could rise to several
hundred in the next 3 years as enterprise users become more familiar
with the benefits of this type of storage."
As of January 2015, many of the major hardware vendors (including Sun and
EMC) are replacing slow disks with RAM-based disks, and
Sun announced that all
of their large servers will offer SSD.
Here are the major SSD vendors for Oracle databases
(vendors are listed alphabetically):
2008 rack mount SSD Performance Statistics
SearchStorage has done a comprehensive survey of rack mount SSD
vendors, and lists these SSD rack mount vendors, with this showing the
fastest rack-mount SSD devices:
manufacturer |
model |
technology |
interface |
performance metrics and notes |
IBM |
RamSan-400 |
RAM SSD |
Fibre
Channel
InfiniBand
|
3,000MB/s random
sustained external throughput, 400,000 random IOPS |
Violin Memory |
Violin 1010 |
RAM SSD
|
PCIe
|
1,400MB/s read,
1,00MB/s write with ×4 PCIe, 3 microseconds latency |
Solid Access Technologies |
USSD 200FC |
RAM SSD |
Fibre Channel
SAS
SCSI
|
391MB/s random
sustained read or write per port (full duplex is 719MB/s), with
8 x 4Gbps FC ports aggregated throughput is approx 2,000MB/s,
320,000 IOPS |
Curtis |
HyperXCLR R1000 |
RAM SSD |
Fibre Channel
|
197MB/s sustained
R/W transfer rate, 35,000 IOPS |
Choosing the right SSD for Oracle
When evaluating SSD for Oracle databases you need
to consider performance (throughput and response time), reliability (Mean Time Between failures) and
TCO (total cost of ownership). Most SSD vendors will provide a
test RAM disk array for benchmark testing so that you can choose the
vendor who offers the best price/performance ratio.
Burleson Consulting does not partner with any SSD vendors and we
provide independent advice in this constantly-changing market. BC
was one of the earliest adopters of SSD for Oracle and we have been
deploying SSD on Oracle database since 2005 and we have experienced SSD
experts to help any Oracle shop evaluate whether SSD
is right for your application. BC experts can also help you choose
the SSD that is best for your database. Just
call 800-766-1884 or e-mail.:
for
SSD support details. DRAM SSD
vs. Flash SSD
With all
the talk about the Oracle “flash cache”, it is important to note that there
are two types of SSD, and only DRAM SSD is suitable for Oracle database
storage. The flash type SSD suffers from serious shortcomings, namely
a degradation of access speed over time. At first, Flash SSD is 5
times faster than a platter disk, but after some usage the average read time
becomes far slower than a hard drive. For Oracle, only rack-mounted
DRAM SSD is acceptable for good performance:
|
Avg. Read speed
|
Avg. write speed
|
Platter disk
|
10.0 ms.
|
7.0 ms.
|
DRAM SSD
|
0.4 ms.
|
0.4 ms.
|
Flash SSD
|
1.7 ms.
|
94.5 ms.
|
|

|
|