High Performance with Oracle Database on Linux

advertisement
Andrew Holdsworth
Director, Real World Performance
Oracle Corporation
Aris Prassinos
Distinguished Member of Technical Staff
Motorola
James Haluska
Systems Engineering Manager
Motorola
High Performance with
Oracle Database on Linux
10g on Linux at Motorola Biometrics
Business Unit
Topics
•
•
•
•
•
Introduction to Motorola’s application
Application and database metrics
Software stack
Server and storage choices
Standardizing on 10g: features of interest to
Motorola
• Best practices for high performance with 10g
on Linux
Motorola Printrak BIS
• The Printrak Biometrics Identification Solution
(BIS) is an integrated suite of applications
implemented by the Motorola Biometrics
Business Unit that allow for the capture,
processing, search and storage of
fingerprints, palmprints, facial images and
other biometric data.
• Motorola develops and remotely manages
Biometrics Identification Systems for its
customers.
Motorola Printrak BIS Data
• BIS databases store a variety of data
•
•
•
•
•
Fingerprints, palmprints, facial images
Signatures
Text descriptions of persons fingerprinted
Customer business process workflows
Also support storing documents such as job
applications and criminal investigation reports
Motorola Printrak BIS Sample Screen
Example BIS Deployment
• Used by a foreign country to provide biometric identification
supporting:
•
•
production of new civilian identification documents for all citizens
identification of criminals by law enforcement agencies
• System stores two types of biometric data:
•
•
Civil: index fingerprints and one front facial image
Criminal: tenprint, palm, latent (crime scene)
and up to ten facial images
• Biometric data is submitted for a one-to-many search where the
images are compared against some or all of the existing images
in the database.
• 1500 remote fingerprint and mugshot capture stations.
Application Metrics
Hourly Throughput
Submission Type
Submissions / hr
Tenprint + 4-Finger / Thumb slaps
Latent
2-Finger
Palm
Latent Palm
Facial
Image Size
187
700K (WSQ)
19
307K (PGM)
1875
2 X 45K (WSQ)
187
620K (WSQ)
19
307K (PGM)
300
59K (JPEG)
Database size: 6TB
BIS Software Stack
• J2EE Architecture
• Developed on Oracle8i on HP Tru64
• Now standardized on Oracle Database 10g on Red
Hat Enterprise Linux 3.0 (i.e., Advanced Server) on
Intel (Itanium or Xeon)
• Database editions used:
• Standard Edition One (SE 1) for most deployments
• Enterprise Edition (EE), no Partitioning, when EE features
required, e.g., Advanced Replication
• EE with Partitioning when necessary for performance
BIS Deployments:
Current Server Choices
•Large Systems (> 4 TB)
•HP Integrity rx2600
•Dual Itanium 2 1.4 GHz
•1.5 MB L3 cache
•3 GB RAM
•Medium Systems (1-4 TB)
•HP Integrity rx2600
•Single Itanium 2 1.4 GHz
•1.5 MB L3 cache
•3 GB RAM
•Small Systems (< 1 TB)
•HP Proliant DL380 G4
•Single Xeon 3.4 GHz
•1 MB L3 cache
•3 GB RAM
BIS Deployments: Storage
• Direct attached PCI-SCSI RAID with HP SmartArray
5304 Controller
• 256 MB battery backed write back cache
• ext3 file system
• RAID5 for datafiles
• Three dedicated RAID1 arrays for redo logs 1 and 2
as well as archived logs
• 128 MB stripe size
• Stripe and Mirror Everything (SAME) not used;
workload is read intensive and the chosen
configuration gave good performance at a lower price
10g Features Critical to BIS
• LOBs: primary data storage technology
• Java Stored Procedures: for enhancing the
capabilities of Motorola’s workflow engine
• Text: for searching inside documents
• XDB: for managing XML data
• Advanced Replication: for redundancy
Database Configuration for BIS
• Locally managed tablespaces with automatic segment
space management
• Multiple block sizes (16K for LOB tablespaces, 8K for
others)
• Automatic undo management
• Automatic shared memory management
• Automatic PGA memory management
• Fast start checkpointing
• Automatic statistics collection
• Async I/O with one DBWR per CPU and no I/O slaves
• Hash partitioning for high throughput
Lessons Learned
• Participation in the 10g Beta Program gave a headstart in incorporating new features
• 10.1.0.2 was very high quality; didn’t have to wait for a
patchset
• Self-managing features allowed for high performance
on low-end servers without excessive tuning
• Very happy with performance improvements in LOBs
in 10g
• Only wish Itanium releases didn’t lag other releases
• Overall: moving to Linux went very smoothly!
Best Practices for 10g on Linux
• Run RHEL 3.0, SuSE 8 or equivalent, or higher
•
•
•
Scales better for SMPs
I/O scaling much improved
Fewer limitations on number of I/O devices
• Configure I/O appropriately
•
•
Ensure HBAs, switches and arrays are in balance with CPUs
For DSS applications, have at least 2 GB/s of I/O bandwidth for
every 4 Intel (Xeon or Itanium) CPUs
• Turn on Async I/O
• Be aware of backplane limitations on cheap servers
• 64-bit is not always better; analyze the pros and cons of 32-bit
Download