« October 2008 | Main | July 2009 »

April 27, 2009

Some Different Electric Bikes

Rhawn the electrician brought in a couple different electric bikes last week. He has a friend who is a distributor of electric vehicles. These were E+ bikes, and Rhawn let me ride two different ones home for lunch. He took my LaFree for a spin, too. Well, these bikes are a lot different than mine - the result of 8 years of improving technology, I guess. They had considerably more power, and ride more like a regular bicycle. They have the motor in the front hub, and the battery in the rear hub. Unlike my bike, these will power you along even if you don't pedal. I can easily ride home on them at 20 mph without even pedalling. In fact, they are geared pretty low, so you have to pedal like mad to go 20 mph. I re-geared mine a couple years ago for the same reason. The controls were not quite as easy to use on these bikes - you set the assist by pressing on a thumb control - the harder you push the more the electric motor kicks in. You can set a "cruise" speed and the bike will hold that speed regardless of terrain and how much you pedal. Rhawn tells me the range on these bikes is around 20 miles, so nearly double my bike's range. The biggest downside of these bikes is that they cost nearly $2,000. You can buy a lot of gas for that kind of money. And, like any electric bike, they are just too lightweight for commuting distances greater than about 5 miles (IMHO).

Posted by rossm at 10:47 AM | Comments (0)

Learning How to Swing Bench

Well, Dave and I have installed and configured Swing Bench on all of our f15 zones and on Slider. This is an application written by an Oracle guru in England that simulates a load on an Oracle db. You set up parameters such as number of users logged in, number of transactions, and the type of load. Then you run the "benchmark" to put a load on the db. You learn such things as how long it took the db to process the transactions, how many dml statements it ran, how many transactions failed. Let's look at a small example that shows how this is useful.

I set Swing Bench to log in 50 users and run 1,000 transactions. There are several Swing Bench modules, but we've installed one that simulates an online ordering business. So, it has areas such as "New Customer Registration", "Browse Products", "Order Products", "Process Orders", and "Browse Orders". You can adjust the percentage of each of these categories, but I just left them at their default values. OK, so it's all set up, let's run a benchmark on f15, z1, and dev db's. Here are some of the most useful results:

Total TImeSelectsFailuresAvg. Response
f159943700136
z1924266023
dev653379022


Now, here are some numbers from a run of 100 users, 5,000 transactions:
Total TImeSelectsFailuresAvg. Response
f152522068338153
z121721094067
dev843143409822

Clearly, dev did not like the increased load from the second benchmark. My guess is, it's the higher number of users, but now we have the tool available to test this theory. Dave and I hope to use this to help us decide on optimum allocation of RAM, Hard drive resources, and swap for each of the containers.

Posted by rossm at 10:05 AM | Comments (0)

April 16, 2009

My Electric Bike

Hey, I'll bet you have been wondering about my electric bike, and how it's been getting along. Well, you know, it's doing really well. This winter it was doing some weird stuff like just dying while I was blissfully riding along. I replaced the batteries at a cost of about $90 and now it seems to be running really well again.

The plan to recharge the batteries every other day in order to not let them run down too far seems to really work. The batteries which were replaced were at least a year old, maybe older. So, whereas the amount of electricity the bike uses is pretty insignificant, there is a cost for the batteries it goes through. Still, you're talking maybe $100 - $125 per YEAR for batteries and electricity. Yeah, how many tanks of gas does your non-green vehicle require in a year? When the gas prices go back up, this will look even better.

Here are a few things to consider about the long term ownership of this bike. I bought it about 8 years ago for $850. Replacing it with a similar bike would cost about $2000 today. It is totally obsolete, out of production. Parts might be available at the bike shop where it was purchased, but that is pretty hit and miss. Any major problems will probably spell the end of the road for it. Chain, tires, gears, brakes, and so forth are all standard items and can be easily replaced.

I saw this awesome scooter that cost $8,000 for a new one. It seemed like a good replacement for the old electric bike. The financing of the scooter, though, made me think again. Insurance: $250/yr; parking sticker: $50/yr; gas: $100/yr(?? a guess)--- so about $400/yr, or $30-$35/month without considering anything toward the purchase price. Hmmm, well, as long as the old electric bike hangs on, I'm sticking with that option. But the scooter is a close second! tmax.jpg

Posted by rossm at 3:59 PM | Comments (0)

April 15, 2009

New Database

Well, Dave has set me up a virtual box, and we are going to install an Oracle 10g database on it just for fun. We're looking for a new landing place for some of our Oracle databases, plus since Maverick died on us we need a spot for the CBORD upgrade to land.

So far I've been able to copy over the downloads from Oracle, which I had already saved, and unzipped them.

New day: This morning Dave and I got together and tried the Oracle 10gR2 install into the container. We kept getting an "out of memory" error when Oracle tried configuring the database. We did successfully install the db onto the root system (much more ram and disk space), but haven't yet gotten a successful install into the container.

The out of memory error appears to be connected to a bug in the way that the new "project" method for setting OS parameters is implemented. The project parameters may not be allocated to a particular Oracle session. Dave is looking at this problem.

Well, we've proceeded to get a db installed into a Solaris container. Dave made it happen, not sure what was required.

Next step is to set up some test queries to compare the processing times between the db on the main hardware and the db in the container.

Posted by rossm at 4:22 PM | Comments (0)

April 6, 2009

Coming Back to the Blog

How did it get to be April already?? As a once-faithful blogger, I thought it was about time to get back into blogging form. It's an easy habit to acquire, and an easy habit to "unacquire".

Well, a lot has been happening here at Western Oregon Univerisity with regard to our Oracle databases. We have spent a good deal of time attempting to get the CBORD residential and food service application upgrade running on Oracle. To say it has been frustrating would be a gross understatement. The Windows server where the application resides upgraded just fine. We created a special database just for CBORD - they require either version 10.2.0.2 or 10.2.0.3 - NOT 10.2.0.4... Well, of course nobody has one of those just sitting around, so we created one. The CBORD queries, however, don't like version 10.2.0.3 - each of their queries takes an unbelievable amount of time to complete. Their SQL queries have a lot of joins and are written in a way with which we are unfamiliar here.

Here's an example of a query that returns 8 records, 13 columns per record. Running time: 122 seconds.
SELECT ft.FacilityType_SK as FacilityType_Key , ft.Name , ft.Icon , ft.Listing_Order , ft.Active , ft.IDStartPosition ,
ft.IDLength , ft.IDPrefix , ft.IDIncludeInChildren , ft.Is_Space_Level as IsSpaceLevel ,
(CASE WHEN EXISTS (Select 1 FROM HMSp_FacilityTree ftr JOIN av_hms_db_Assignments a
ON(ftr.Facility_SK_FK = a.Facility_SK) WHERE ftr.EndDate is Null and ftr.FacilityType_SK_FK = ft.FacilityType_SK )
THEN 1 ELSE 0 END) As OnContract , (CASE WHEN EXISTS (Select 1 FROM HMSp_FacilityTree ftr
JOIN av_hms_db_ContractEl_Facility a ON(ftr.Facility_SK_FK = a.Facility_SK_FK_SpaceLink)
WHERE ftr.EndDate is Null and ftr.FacilityType_SK_FK = ft.FacilityType_SK ) THEN 1 ELSE 0 END) As IsLinked ,
ft."ROWID" FROM hmsp_FacilityType ft
ORDER By ft.Listing_Order

We do a lot better with PL/SQL, PHP, that sort of thing. Anyway, after much tweaking on our part, and their part, we were forced to have them roll back the upgrade so that we would at least have our old version to use.

They suggest that it's our Solaris 10 operating system on the db's server that is the source of the slowness. We, of course, have a hard time accepting this since we have literally hundreds of applications which run just fine on our production databases. Also, we feel that Solaris is a much more efficient OS than Windows. Plus, how would their application even know what OS it was calling to? The application is only requesting data from the db. So, back and forth we go.

I have done some investigation into the Solaris OS parameters that Oracle uses to run efficiently. Dave and I worked on a different way of setting those parameters (OK, so Dave did it all and I just watched) in Solaris 10. This seemed to make the db run the CBORD queries using much less CPU time. Unfortunately, it still took the same length of time to finish the query.

We are continuing an investigation into the Optimizer parameters, and maybe there is a magic button out there that will make these queries run in an acceptable amount of time. Also, Michael is going to set up some db's on different OSes and see what differences he might discover.

Well, that's enough for today. It feels good to blog again!

Posted by rossm at 3:56 PM | Comments (0)