Title: 1001 Good Reasons to Upgrade
11001 Good Reasons to Upgrade
- Tom Bascom
- Greenfield Technologies
2Introduction
Tom Bascom Greenfield Technologies http//www.gree
nfieldtech.com tom_at_greenfieldtech
3Agenda
- History of Progress Releases
- The Benchmarks
- Data
- Summary
4Agenda
- History of Progress Releases
- The Benchmarks
- Data
- Summary
5Just How Old is Version 8?
- Or 6 7 for that matter?
- V9 was released when?
- What else was current way back then?
6V6 -- 1990
- Fuzzy Checkpoints
- -spin
- PF Files
- UNIX System V r4
- RS 6000
- Windows 3.0
- MS Sales 1B
- 10mhz 286 PS/1 2000
- NEC Laptop 850016mhz 386sx2MB RAM42MB
disk(color)
progress-list_at_thinc.com launched by Ethan Lish
7V7 -- 1992
- Jumpstart
- GUI
- -mmax
- Load n Go!
- OS/2 2.0
- Windows 3.1
- SLS Linux distribution
- 486DX2 25/50mhz
- 66mhz PowerPC
- HP 9000 72550mhz PA RISC16mb RAM, 512MB disk
18k - Thinkpad 700c 4,35025mhz 486sl4MB RAM120MB
disk
progress-list_at_math.niu.edu taken over by Greg
Higgins Approximately 175 subscribers and 10-12
messages/month
8V7.3 -- 1995
- Persistent Procedures
- VBX
- MS Consent Decree
- Win95
- Linux 1.0 (94 actually)
- Pentium Pro 200mhz
- DEC Alpha 300mhz
- Something called The Web explodes onto the
world
Peg.com domain registeredApproximately 700
subscribers and 1000 messages/month
9V8 -- 1996
- User Defined Functions
- VSTs
- Variable Block Sizes
- App Servers
- WebSpeed
- Fast Schema Change
- -zprofile
- NT 4
- 1GB disks start to appear
- Linux 2.0
dba_at_peg.com created in May 98
10V9 -- 1999
- Pentium 3 announced
- Judge Jackson declares MS is an abusive
monopoly - Windows 2000 released
- SCO IBM start working on Monterey
- Fujitsu Lifebook 2,600333mhz PII64MB
RAM6.4GB disk
- Storage Areas
- Publish and Subscribe
- Dynamic Queries
- XML
- SQL-92
- Load n Go actually works
dba_at_peg.com created in May 98
11OpenEdge 10 -- 2004
- The SCO Saga
- P4 Xeon _at_ 3.0ghz
- Dell Latitude 2,500Pentium M _at_ 1.2ghz640MB
RAM40GB disk
- Data Clusters
- ProDataSet
- SOAP
DateTime!!!
PEG has more than 3,000 messages/month and
approximately 5,200 subscribers -- theyd all be
here but theyve got important work to do
12History Bonus Slides
- Moores Law
- Disk Performance
13Moores Law
In 1965 Gordon Moore famously observed that
transistor counts were doubling every two years
and predicted that this would continue
14Moores Law
Coupled with increases in clock speeds raw
compute power per dollar (or euro) raises very
quickly
15Disk Performance
- Disk Performance is Complex!
- Capacity
- Increases roughly 100 annually
- Bandwidth
- Increases roughly 40 annually
- Access (especially random access!)
- Increases roughly 8 annually
16Disk Performance
- Non-DBA bias is towards Capacity
(beancounters...) - The trade press occasionally pays attention to
Bandwidth. - A DBAs bias is Random Access.
Time to read whole 3.5 disk Year Size
Sequentially Randomly 1990 100MB 4
minutes 1 hour 2000 8GB 12 minutes 46
hours
17Hardware Performance Summary
- Amdahls Law! The potential for performance
improvement is limited by the amount of time that
the improved component is being used. - Constant Workload
- 10x faster CPU 10 disk 5x faster system.
- 50 of potential improvement is lost.
- 100x faster CPU 10 disk 10x faster system.
- 90 of potential improvement is lost to disk IO.
18Agenda
- History of Progress Releases
- The Benchmarks
- Data
- Summary
19The Benchmarks
- ReadProbe
- 4glProbe
- Populate
- Workload
- Big Report
- Dump
- Load
- Index Rebuild
- DB Analysis
Maintenance
20Test Platform
- Mid Market Hardware
- Dell PowerEdge 6600
- 4x2Ghz Xeon w/HT
- 2GB RAM
- 6 disks
- Windows Server 2003
- Linux AS 2.1
21The Database
- Sports2000 schema
- Randomly generated data
- Mix of Table Record sizes
- Some Scatter
22Database Analysis
Table Records Size Min Max
Mean Scat Benefits 5000 282.3K 42
73 57 2.5 BillTo 200000
32.0M 76 258 167 2.6 Department
20 1.0K 36 74 53 1.0 Employee
5000 1.1M 153 333 236
3.0 Invoice 1000000 52.0M 46 55
54 1.9 Order 1000000 168.3M 98
263 176 2.0 OrderLine 1500000
94.5M 46 81 66 1.7 POLine
8000000 505.6M 49 82 66
1.4 PurchaseOrder 20000 920.0K 33 61
47 2.7 RefCall 9997 917.8K 45
144 94 3.1 Salesrep 300
25.3K 52 122 86 3.2 State
50 3.5K 44 102 70 1.0 Supplier
5000 1.0M 121 293 210
3.1 Warehouse 100 16.0K 101 219
163 1.0 Subtotals 15771467 1.2G 20
409 83 2.0
23Tuning Parameters
- Mostly Out of the Box
- Basic tuning only
- -B
- -i
- Simple File Placement
- Tried not to make this a disk performance test.
- No Heroics
24Not Tested
- SQL-92
- Effects of After Imaging
- Client/Server
- Exotic Parameters
25Feature Focus
- Variable Block Sizes
- Introduced with v8
- 1k, 4k 8k (2k not tested, 4k not shown)
- Rows Per Block
- Introduced with v9
- 32, 64, 256 (1 not tested)
- Type 1 vs Type 2 Storage Areas
- Type 1 1 block per cluster (aka v9 style areas)
- Type 2 8, 64 512 blocks per cluster
- Type 2 areas are a new capability introduced with
OE 10
26Database Configurations
- Apples to apples comparisons
- Version 8, Version 9, OpenEdge 10
- 1k, 4k, 8k db Blocks
- 32, 64, 256 Rows per Block
- 1, 8, 64 512 Blocks per Cluster
- 48 Comparisons in all
27Issues
- _ActRecord VST is broken in OE10.0a making some
data gathering difficult (but does not impact
functionality.)Fixed in 10.0B - 9.1d07 contains many, but not all, OE10
enhancements which occasionally blurs the
distinction between v9 OE10 - 8.3e, 9.1d09, 10.0B (no service packs)
28Agenda
- History of Progress Releases
- The Benchmarks
- Data
- Summary
29ReadProbe
- Measures the ultimate limit of record read
performance under IDEAL conditions (NO disk IO). - Youll never actually get performance this good.
- But you should be able to get close.
30ReadProbe -- Linux
31ReadProbe -- Linux
32ReadProbe -- Linux
33ReadProbe -- Linux
34ReadProbe -- Windows
35ReadProbe -- Windows
36ReadProbe -- Windows
37ReadProbe -- Windows
38Results -- ReadProbe
- v8 is very fast for a single session which is
important (high profile issues). - But v8 gets in trouble with contention quickly.
- v9 scales better than v8.
- 9.1d07 acts a lot like OpenEdge 10 on Linux.
- 9.1d 9.1d07 act a lot like OE10 on Windows
OE10 is about 5 faster. - Linux is a tad faster than Windows (5 to 10).
- Windows has improved a lot since v8.
394glProbe
- Ordinary 4gl string manipulation functions
- Loop constructs
- Measure the time required to complete a set of
these operations.
404GL Operations
41Populate
- Randomly fills the database with a configurable
number of records. - Target record count is configured per table.
- One or more simultaneous threads per table.
- Field data is randomized.
42Populate -- Windows
43Populate -- Linux
44Results Populate (Insert Update)
- V9 is a big improvement over v8 under Windows.
- Larger block sizes are A Good Thing with v8 and
Windows v9 likes them too. - More rows per block are A Good Thing especially
with Windows. - OpenEdge 10 is generally better than v8 or v9
especially when using type 2 storage areas. - Windows has improved a lot from v8 to OpenEdge 10
(between 20 60).
45Workload
- Starts X sessions
- Each session has a tunable target for Creates,
Reads, Updates and Deletes. - Each session randomly fulfills that target much
as a user would. - Time spent working is measured and logged.
46Workload 25 -- Linux
47Workload 100 -- Linux
48Workload 25 -- Windows
49Workload 100 -- Windows
50Results Workload
- Progress version number is dominant.
- V8 is best for very light workloads.
- V9 is worst in almost all cases.
- OpenEdge 10 does very well with heavier loads.
- More rows per block are usually A Good Thing.
- Type 2 storage areas (only available with OE10)
are much better than Type 1 areas. - 32 rows per block in a type 1 area is generally
asking for trouble. - Scalability improves as you upgrade from 8 to 9
to OpenEdge 10.
51Big Report
- Queries a whole bunch of records in multiple
tables.
52Big Report -- Linux
53Big Report -- Windows
54Results -- Reporting
- Windows performance has improved a lot.
- Otherwise V9 is the slowest.
- OpenEdge 10 Type 1 storage areas are somewhat
performance challenged. - Large block, row cluster sizes are A Good
Thing. - Its easy, and painful (a 30 swing), to shoot
yourself in the foot with v9 OpenEdge 10
defaults planning and testing pay.
55Maintainence
- Binary Dump
- Binary Load
- Index Rebuild
- DB Analysis
56Maintenance -- Linux
57Maintenance -- Windows
58Results -- Maintenance
- 1k db blocks are a bad idea.
- 8k blocks _at_ 32 rpb are a really bad idea.
- 4k and 8k are generally roughly similar in
performance. - OpenEdge Binary Dump can be much faster (60 to
70) than v8 or v9 if you use type 2 areas and 64
or 512 blocks per data cluster. - OpenEdge 10 Binary Load does not like 1k db
blocks or 8 block data clusters. - Index Rebuild isnt much different from 9 to 10.
- Index Rebuild is about 40 faster from 8 to 10.
59Agenda
- History of Progress Releases
- The Benchmarks
- Data
- Summary
60Upgrade - Myths
- MYTH Upgrades require more resources.
- Truth Upgrades make better use of your existing
resources if you use the new features. - MYTH Newer releases are slower than older
releases. - Truth Upgrades perform better on identical
hardware if you leverage new features. - MYTH You need to spend the same money for a new
server as the old. - Truth You can get much better performance for
much less money.
61Upgrade -- Con
- 8.3 was very good and remains very good in its
niche. - Conversion with type 1 areas and default values
shows little benefit over v9 (and may be a step
backwards in some cases.) - Straight convXY upgrades may be harmful to
performance (especially with 1k blocks or 32 rows
per block.)
62Upgrade -- Pro
- Day-to-day Workload improvements.
- Maintenance Improvements.
- Conversion to larger block sizes and row per
block settings can be very beneficial. - Conversion to type 2 areas can be very
beneficial. - Additionally, 4gl performance is getting a lot of
attention.
63The Case For Upgrading
64The Case For Upgrading
65Wrap-up
- As a general rule the db is not your ultimate
constraint. - The most advantage comes from leveraging new
features. - Never underestimate the impact of cheap hardware!
- There is a clear positive trend in the numbers!
66Why Upgrade to OpenEdge 10?
- How does an aggregate database performance
improvement of 25 sound? (Of course YMMV) - As much as 60 faster 4gl performance!
- Greater efficiency of DB reads/writes
- Great Leaps Forward on Microsoft Windows
- Substantially faster maintenance less downtime
- And thats only the beginning!!!
67?
Any Questions
Tom Bascom Greenfield Technologies tom_at_greenfieldt
ech.com http//www.greenfieldtech.com
68Resources
http//psdn.progress.com/library/white_papers/ben
chmarks/index.ssp http//www.greenfieldtech.com/d
ownloads http//www.greenfieldtech.com/articles