Yet Another PX Test (if only to give readers something different to comment on)
Jonathan Lewis had suggested larger extents and freelist segment space management (instead of ASSM) could benefit the PX tests I’ve been running. I’m pretty sure it was Jeff Moss that suggested bigger blocks would be more appropriate for the type of Data Warehouse environment that would be most likely to use PX. I tried all three in combination on the E10K last week and was very impressed by the improvement. Instead of 8Kb blocks and 1Mb extents, I used 32Kb blocks and 32Mb extents. Let’s try a quick table this time instead of a graph 😉
| DOP | 8K / 1M | 32K / 32M | % |
| 1 | 49:56.1 | 40:54.0 | 82 |
| 2 | 21:34.5 | 18:31.0 | 86 |
| 3 | 20:09.5 | 15:36.6 | 77 |
| 4 | 16:25.6 | 12:16.7 | 75 |
| 5 | 15:18.5 | 12:20.1 | 81 |
| 6 | 14:33.0 | 11:31.5 | 79 |
| 7 | 14:17.8 | 11:06.5 | 78 |
| 8 | 14:20.7 | 11:17.3 | 79 |
| 9 | 13:43.0 | 12:04.8 | 88 |
| 10 | 13:23.9 | 09:53.7 | 74 |
| 11 | 13:51.0 | 12:24.8 | 90 |
| 12 | 13:21.3 | 11:41.2 | 88 |
| 16 | 13:38.1 | 11:24.0 | 84 |
Using just the Hash Join example and only testing DOPs of between 1 and 16, there’s an improvement of about 10-25%. I knew there would be some improvement but was quite surprised just how much. Of course, this is just on this particular test on this particular configuration (as I keep saying) and I should have tested each change individually but my time is pretty limited at the moment because we have a big go-live month at work. I think it does indicate how important the space allocation method is when processing large volumes of data quickly with PX – those percentage improvements would be pretty noticeable to the users.
Ah ha, very interesting. Did the manual vs Auto SSM make a difference in the rows per block or anything? And on that system what is the maximum i/o size for multiblock reads?
On the ASSM, I honestly don’t know and can’t check during the week because my friend is in the server room.
But the maximum i/o size was 1Mb