170 likes | 371 Views
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 10 g on Linux at Motorola Biometrics Business Unit.
E N D
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
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.
Submission Type Submissions / hr Image Size Tenprint + 4-Finger / Thumb slaps 187 700K (WSQ) Latent 19 307K (PGM) 2-Finger 1875 2 X 45K (WSQ) Palm 187 620K (WSQ) Latent Palm 19 307K (PGM) Facial 300 59K (JPEG) Application Metrics HourlyThroughput Database size: 6TB
BIS Software Stack • J2EE Architecture • Developed on Oracle8ion 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
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: Current Server Choices
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 head-start 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