Testing Exadata with Different ASM AU Sizes

July 18th, 2011 | Written by John Clarke

Oracle recommends a 4MB ASM allocation unit (AU) size for its ASM disk groups. In this post, we'll explore test cases with different ASM disk group AU sizes. Let's create some tablespaces to match our testing requirements:

 

204

 

Using a 1MB AU Size

In this section we'll perform tests for full-scanning a table when it's stored in an ASM disk group with a 1MB ASM allocation unit size and compare with the same table stored in a tablespace residing on an ASM disk group with a 4MB AU size. The control-case done with SYSTEM.MYOBJ, which has the following characteristics:

  • Table: SYSTEM.MYOBJ

  • Size (Gb): 14.8

  • Blocks: 1,940,352

  • Tablespace Name: USERS

  • ASM Disk Group: DATA_CM01

  • ASM AU Size: 4MB


 

233

 

 

Let's create a tablespace in the AU1MDATA_CM01 ASM disk group:

 

 

216

 

 

Now we'll create the copy of MYOBJ:

 

 

230

 

 

Let's run our test:

 

 

218

 

 

As we can see from the above test:

  • The query execution time went from 4.32 seconds to 7.58 seconds with a 1MB AU size.

  • Roughly the same number of bytes where received from the cluster interconnect, which was to be expected.

  • The cell scan efficiency remained the same, so Smart Scan was definitely saving time.

  • A 1MB AU size will required more physical IOs and be slower than a 4MB AU size in this test.

 

Using a 8MB AU Size

In this section we'll perform tests for full-scanning a table when it's stored in an ASM disk group with a 8MB ASM allocation unit size and compare with the same table stored in a tablespace residing on an ASM disk group with a 4MB AU size. The control-case done with SYSTEM.MYOBJ, which has the following characteristics:

  • Table: SYSTEM.MYOBJ

  • Size (Gb): 14.8

  • Blocks: 1,940,352

  • Tablespace Name: USERS

  • ASM Disk Group: DATA_CM01

  • ASM AU Size: 4MB


 

219

 

 

Let's create a tablespace in the AU8MDATA_CM01 ASM disk group:

 

 

211

 

 

Now we'll create our test table:

 

 

214

 

 

And finally, run our test:

 

 

210

 

 

As we can see from the above test:

  • The query execution time went from 4.32 seconds to 7.92 seconds with an 8 MB AU size.

  • Approximately the same number of bytes was returned.

  • Using a larger AU size (8MB) didn't improve times in the scan; in fact, it reduced it to the same as when using a 1MB AU size. This would tend to conclude that a 4MB AU size is indeed ideal on Exadata.
     

Since this test and the previous one with the 1MB ASM allocation unit size showed relatively the same results, and considering the 8MB AU size would seem to yield better response, we're going to do some additional testing with multiple runs (5 each) to see if the tests are indeed what saw with just one sample:

 

 

212

 

 

We can see from this that the timings per test indeed indicate that things are more efficient (i.e., run faster) with a 4MB AU size, but let's try to figure out exactly why. Using V$SESSION_EVENT, we can see that the "cell smart table scan" wait event was the event responsible for most of the wait time, so let's compare test results:

 

 

207


 

As we can see above, the number and total time of "cell smart table scan" waits was larger with 1MB AU and 8MB AU sizes for the second two tests. They retrieved roughly the same number of bytes over the interconnect, and the number of bytes and blocks per segment is very nearly the same. If we do some math on the above table, we can see that the number of waits increased for 1MB and 8MB ASM AU sizes, but the total time didn't increase linearly with the number of waits, so we could suspect that alignment boundary issues are the cause of more waits.

 

Based on this, we can conclude that more work is required to satisfy cell IO requests when ASM disk groups don't use a 4MB AU size. So setting ASM disk group attributes will clearly yield a better overall result, in this case about 50% time-savings.

 

What about Extent Placement on the Physical Disk?

As you've probably noticed in the tests above, a 4MB AU size was optimal for performance. But was this solely because of the 4MB AU size or could it have been because the 4MB AU ASM disk group was created on a set of Grid Disks that resided our the outermost tracks of the physical disk? In this section, we'll again tear down the ASM disk groups and re-create them one at a time and do our testing.

 

The first thing we'll do to get a clean baseline is wipe out the DBM database. After this, we'll drop the ASM disk groups DATA_CM01 and RECO_CM01:

 

 

224

 

 

232

 

 

After this is completed, we'll delete our Grid Disks:

 

 

215

 

 

227

 

When complete, we'll create grid disks, 425Gb and remainder, for DATA_CM01 and RECO_CM01:

 

 

217

 

 

205

 

 

Next, let's create an ASM disk group on the "DATA" Grid Disks with a 1MB allocation unit and an ASM disk group with a 4MB AU called RECO_CM01:

 

 

220

 

 

When complete, we'll re-create our DBM RAC database:

 

 

223

 

 

Environment details:

 

 

228

 

 

Now we'll set to post-rebuild settings:

 

 

225

 

 

At this point, we can create our test table, MYOBJ:

 

 

222

 

 

Now we'll check the space used by MYOBJ:

 

 

229

 

 

Finally, let's run full-scan test:

 

 

231


 

We'll then repeat the tests above with an ASM disk group with a 8MB AU and a 4MB AU size. I'll leave out most of the details of the test case builds, as they mirror the above with the exception of the ASM disk group creation.


 

The 8MB AU test is below:

 

206

 

 

209


 

226

 

 

And finally, our 4MB storage test:

 

 

221

 

 

208


 

213


 

Summary:


 

Statistic

1MB AU Size

4MB AU Size

8MB AU Size

Query Time

5.96 seconds

4.34 seconds

5.49 seconds

"cell physical IO bytes eligible for predicate offload"

15,278,497,792

15,278,497,792

15,278,497,792

"cell physical IO interconnect bytes"

104,495,872

101,636,320

101,990,816

"cell physical IO interconnect bytes returned by smart scan"

99,597,056

99,596,512

99,590,560

"CPU used by this session"

64

53

76

"cell flash cache read hits"

37

143

149

Pct Saved by SS

99.32%

99.33%

99.33%


 

Full-scans with cell offload (Smart Scan) perform better on Exadata with 4MB AU sizes

 

Summary

Configure ASM disk groups on Exadata with a 4MB allocation unit size.