This is a very straightforward test. I've got an ASO cube with about 1GB of input level data.
The Test
- Make a copy of the database.
- Validate that there is no RESTRUCTURETHREADS setting in the essbase.cfg file.
- Add a member to the accounts dimension and watch the CPU usage during the restructure.
- Record the elapsed time of the restructure.
- Validate that RESTRUCTURETHREADS is set to 4 in the essbase.cfg file.
- Restart the Essbase server.
- Add a member to the accounts dimension and watch the CPU usage during the restructure.
- Record the elapsed time of the restructure.
The Results
Elapsed time without RESTRUCTURETHREADS setting: 70.97s
Elapsed time with RESTRUCTURETHREADS 4 setting: 68.59s
That's close enough to call it even. I watched the CPU usage during the process and it was similar each time. It spiked to 200% for a good portion of the restructure. So what's going on? I'm not exactly sure but it looks like ASO restructures are multi-threaded and there's no setting to control how many threads to give the process. I can't find any documentation about it. If you do, let me know.
No comments:
Post a Comment