TraceAnalyzer Update

I’ve uploaded a new build of TraceAnalyzer that fixes a few issues. You can download it from here
|

Minor update to swingbench

I’ve just uploaded a minor update to swingbench to solve a few minor bugs.

You can download it here
|

CPUMonitor 0.2 just released

I’ve just released 0.2 of cpumonitor. Its got a few nice features in it.
  • Support for Solaris
  • A Mini view (use the -md option on the command line)
  • New charting engine (a bit punchier)
  • Encrypted passwords in config file
  • Fixes for rendering on Linux and Unix
  • Reports errors for failed connections
It will require Java 6 to run and you will need to make sure that you enable “Password Authentication” in your sshd_config file (enabled by default on Linux) i.e in sshd_config add or uncomment the following line on the target server

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes


You can download it from here as usual.

The following are a few screen shots of the mini mode and the max mode (default)

screenshot_10

screenshot_11
|

And another update to 2.4...

Another minor update incoming to 2.4.0.639.... minor fixes. You can download it here
|

Update to swingbench 2.4

I’ve updated swingbench to build 628 which includes the following fixes
  • Updates to the “order entry” benchmark
  • Wizards now use user selected thread count
  • Swingbench now correctly loads new config files from the menu
  • Feedback on wizard builds (metrics such as MB/sec generated etc)
They’ll be a new update again shortly with
  • Checks at start and end of wizard builds
  • New benchmark run summaries
As usual you can download it here. Let me now what you think here
|

Large SOE builds... things to watch for

A couple of things to watch for if you are building a large SOE schema. The first is temp space. I guess its obvious but if you are building a 1TB schema with 100GB+ tables the indexes are going to be pretty big as well. If you are creating big indexes you need plenty of TEMP. The number of schema’s I’ve looked at that haven’t had their indexes build is amazing. I guess this is partly my fault as well. I’ll include a start and end validation process in the next build. Should have done this before but I guess people weren’t building such big schema’s

As a guide line for a schema of size “x” I’d have at least “x/6” worth of temp space i.e. 1TB schema needs about 180GB of temp. You can resize it after the build to what ever you decide is appropriate.

As to what it should look like on completion... well something like this
SOE@//localhost/orcl > @tables;

Tables
======

Table                   Rows    Blocks   Size   Compression  Indexes Partitions Analyzed
-------------------- ---------- -----    ------ -----------  ------- ---------- ----------
WAREHOUSES                1,000     60    1024k Disabled       2          0     < Week
ORDERS                  225,000  1,636      13M Disabled       5          0     < Week
INVENTORIES             924,859 10,996      87M Disabled       3          0     < Week
ORDER_ITEMS             587,151  2,392      19M Disabled       3          0     < Week
PRODUCT_DESCRIPTIONS      1,000     60    1024k Disabled       2          0     < Week
LOGON                    50,000    250       2M Disabled       0          0     < Week
PRODUCT_INFORMATION       1,000     60    1024k Disabled       3          0     < Week
CUSTOMERS               200,000  2,014      16M Disabled       5          0     < Week



Another really important thing is to include the SOE_MIN_CUSTOMER_ID and SOE_MAX_CUSTOMER_ID in the environment variables within the config file. This will reduce the startup time of the benchmark. Follow the instructions below or edit the config file

Select the Environment Variables tab and press the screenshot_02 button (you’ll need to do this for each environment variable).

screenshot_04

Add two Enviroment variables
  • SOE_MIN_CUSTOMER_ID : The value equals the smallest customer id in the data set, usually 1
  • SOE_MAX_CUSTOMER_ID : The largerst customer id found in the data set

You can determine what thes values are by running a piece of SQL similar to this when logged into the SOE schema

SELECT
  /*+ PARALLEL(CUSTOMERS, 8) */
  MIN(customer_id) SOE_MIN_CUSTOMER_ID,
  MAX(customer_id) SOE_MAX_CUSTOMER_ID
   FROM customers


After adding the variables you should end up with something that looks similar to this

screenshot_06




|

Swingbench 2.4 Beta Released

I may regret this but it all seems to hang togther so I’ve decided to release 2.4 of swingbench. It dosen’t look significantly different from 2.3 but it has enough changes to warrant a point change. These include....
  • New SH wizard
  • New highly threaded benchmark builds for the OE and SH benchmarks
  • New standard sizings for SOE and SH (1GB,10GB,100GB,1TB)
  • Improved scalability of the SOE benchmark
  • Oracle UCP connections
  • New CPU monitor architecture (uses ssh instead of agent)
  • Update look and feel on Overview charts (more coming)
  • Configuration free install (Simply ensure Java is your path)
The first thing people are likely to notice is that you shouldn’t need to edit any files. As long as a 1.5 JVM is in your path you should just be able to start swingbench and the wizards. I’ve also tried to tidy things up in the directory structure and Im giving Apache launcher a go to try and centralise configuration. This may or may not work out Im already picking up a few issues.... But let me know how you find it.
The other big change is that I’’ve tried to standardise the benchmarks. You can now choose between 1GB,10GB,100GB or 1TB. The thing to watch out for is that this refers to the raw data size. The indexes add to this quite considerably. So a 1TB will require 3.2TB of disk space. The good news is that they are massively multi threaded now and so if you have the horse power (plenty of CPUs and IO) they should build relatively quickly (12 hours for a 1TB benchmark).
I’ve also updated the look of the overview graphs to make them a little punchier... I’ll be improving them still further shortly.
So now the stuff that’s a little broken....
  • Charbench’s interactive mode seems to have cracked under the weight of all the updates. I have a fix for it but it requires a 1.6 JVM and Im trying to figure out if I can port it to 1.5. In the mean time you’ll have to use timers (-rt option) until I have a workable fix.
  • Backgrounding tasks seems to be a little broken as well... I hope to have a fix for this shortly.
Also the stuff thats planned but didn’t quite make it.
  • An end of run benchmark report. I’ve got it sort of working but it’s a little awkward looking.
  • Update to coodinator controls...
  • AIX cpu monitoring... I have the code. It just needs testing.
Let me know what you think here. You can download it here.

screenshot_01
|

Scalability fix for orderentry benchmark

I’ve been doing some testing lately on some pretty fast servers of late, in particular Exadata V2. This has resulted in issues with the swingbench “SOE” benchmark that I hadn’t seen before such as data and index block contention and even some deadlocks (yes shame on me). So I took a look at the way the code worked and have updated it to use more efficient (and arguably more up to date) approaches to the same processes. The code still does the same number of selects,inserts and updates but removes some silly none scalable operations as well. This code will ship in swinbench 2.4 (yes I’ve decided to update to 2.4.... there’s a lot of changes) but I thought some people might find the new V1.1 version of the benchmark useful today so Im making it available on the downloads page. It should just be a simple update to the schema... i.e.

$> sqlplus soe/soe @soedgpackage.sql

Whilst this will fix a large number of problems you may need to reverse key a few indexes as well... (This will be part of the full installation in 2.4)

Let me know how you get on....
|

Why hasn't here been an update lately?

Best laid plans and all that.... I had hoped to release the new 2.4 build this week but work is insane at present and so I haven’t had time to do the necessary testing. It’s a pain I know. I have promised people releases a lot lately but work just gets busier and busier and since I can really only do swingbench development in my spare time Im struggling to keep up.

Im hoping things will die down in the next few weeks and so I should be able to get it done then. So if I don’t reply to emails it’s not being rude its just that I don’t have time... I’ll make it up I promise.
|

CPU Monitor 0.1

I’ve been pretty quiet lately but that’s purely down to my current workload (my proper job). That’s not to say I haven’t been busy in my spare time and you should expect a flurry of releases in the near term. The first of these is a simply utility that I put together for some benchmarks I’ve been doing, its called “CPU Monitor”.
stacks_image_20_1
I know not an original title.... but it pretty much describes what its designed to do. I also know there are plenty of tools like these on the market but I wanted something that was trivial to set up and configure and could look at lots of machines at the same time. I intend to extend it in a number of directions.

Its primary aim is to support monitoring clusters of machines (I’ve been working on Exadata pretty much exclusively for the last 6 months) in near real time and record the stats for later analysis.

I hope to make a few changes shortly

  • Removal of clear text passwords in the config file
  • Support for Solaris, and AIX.
  • A "Mini" mode
  • A Character mode
  • A Table Mode
  • Network Monitoring
  • Further statistics collection
  • Source code for information scraping. Allowing improvements on current statistic collection or support for new OS's

You can find it here . Let me know if you find it useful.
|