I just finished the last program for a computer science class on edX and I urge you to try it.
I took this class:
MITx: 6.00.1x Introduction to Computer Science and Programming Using Python
I was more interested in how MIT taught the class than in the material itself because I already know the subjects covered.
The class taught the basics of programming – expressions, variables, loops, if statements, and functions.
It also had a large focus on bisection or binary (more...)
I’m still working on resolving the issues caused by bug 13914613.
Oracle support recommended that we apply a parameter change to resolve the issue but that change requires us to bounce the database and I was looking for a resolution that does not need a bounce. The bug caused very bad shared pool latch waits when the automatic memory management feature of our 184.108.40.206 database expanded the shared pool. Oracle support recommending setting _enable_shared_pool_durations=false (more...)
I hacked together a query today that shows the overall I/O performance that a database is experiencing.
The output looks like this:
End snapshot time number of IOs ave IO time (ms) ave IO size (bytes)
------------------- ------------- ---------------- -------------------
2015-06-15 15:00:59 359254 20 711636
2015-06-15 16:00:59 805884 16 793033
2015-06-15 17:00:13 516576 13 472478
2015-06-15 18:00:27 471098 6 123565
2015-06-15 19:00:41 201820 9 294858
2015-06-15 20:00:55 117887 5 158778
2015-06-15 21:00:09 85629 1 79129
Oracle support says we have hit bug 13914613. Here is what our wait events looked like in an AWR report:
Top 5 Timed Foreground Events
||Avg wait (ms)
||% DB time
|latch: shared pool
|latch: row cache objects
|db file sequential read
|library cache: mutex X
Recently I used DBMS_RESOURCE_MANAGER.calibrate_io to measure disk I/O performance using a call like this:
DBMS_RESOURCE_MANAGER.calibrate_io (num_physical_disks => 10,
max_latency => 20,
max_iops => l_iops,
max_mbps => l_mbps,
actual_latency => l_latency);
DBMS_OUTPUT.put_line('Max IOPS = ' || l_iops);
DBMS_OUTPUT.put_line('Max MBPS = ' || l_mbps);
DBMS_OUTPUT.put_line('Latency = ' || l_latency);
Using this call I have a surprising result. This test returns very different results when (more...)
This is very cool:
There are a bunch of nice computer science classes online from mit: Free online MIT computer science classes
Here is an introductory computer science class: Intro to computer science
Here is a graded version of the same class on edX: Graded version of MIT intro CS class starting June 10th.
edX does not have as many computer science classes but edX may motivate students because edX classes include grades and certificates for those who (more...)
I dug up a simple C program that I wrote years ago to test disk performance. I hesitated to publish it because it is rough and limited in scope and other more capable tools exist. But, I have made good use of it so why not share it with others? It takes a file name and the size of the file in megabytes. It sequentially writes the file in 64 kilobyte chunks. It opens the (more...)
In my previous post I described how I could not explain why I got better db file parallel read wait times in a test on Linux than I got running the same test on HP-UX. I have discovered that the Linux wait times were better because Linux cached the data in the filesystem cache and HP-UX did not.
Neither system used direct I/O for the tests so both could cache data in the filesystem cache. (more...)
I am still working on comparing performance between an HP-UX blade and a Linux virtual machine and I have a strange result. I tried to come up with a simple example that would do a lot of single block I/O. The test runs faster on my Linux system than my HP-UX system and I’m not sure why. All of the parameters are the same, except the ones that contain the system name and filesystem names. (more...)
I’m trying to compare two types of database servers and it looks like one has a faster CPU than the other. But, the benchmark I have used runs a complicated variety of SQL so it is hard to really pin down the CPU performance. So, I made up a simple query that eats up a lot of CPU and does not need to read from disk.
First I created a small table with five rows: