250 likes | 432 Views
Joe Pearce Manager Performance & Benchmarking Oracle Corporation. Messaging & Calendaring with Oracle Collaboration Suite 10g. Application Servers. Storage Servers. Directory Server. Suite Architecture. Distributed solution Tune each system Tune connection pools. Mail Servers.
E N D
Joe PearceManagerPerformance & Benchmarking Oracle Corporation
Messaging & Calendaring with Oracle Collaboration Suite 10g
ApplicationServers StorageServers DirectoryServer Suite Architecture • Distributed solution • Tune each system • Tune connection pools
Mail Servers StorageServers DirectoryServer Mail Service behavior • Servers discover parameters in the Internet Directory • LDAP also used for authentication and name resolution • Servers pin connection pools for all mail stores and directory as needed
SMTP_OUT SMTP_IN IMAP / POP ES_QUEUE ES_HEADER ES_EXT_HEADER ES_RECIPIENT ES_SHELL ES_BODY ES_INSTANCE HOUSE KEEPING LIST SERVER OJMA Overview of Mail Architecture
Tuning Sequence • Tuning is an iterative process • 1st tune the mail stores • 2nd tune the LDAP • 3rd tune the mail servers • connection pools
Tuning the Database • Regular DBA tuning • Ensure fastest I/O layout, sufficient buffer size and hit ratio, etc. • At higher transaction rates, partition the tables and increase the sequence cache size • Run Housekeeper process only at night • If using RAC in active/active mode, run the SMTP processes against only one instance
Tuning the DB, cont’ • Shadow process memory should NEVER page • Count all process connection pool maximums • Number of shadow processes x XXX • Analyze tables when big change in data size • Do not analyze es_queue when system is down • Run oidstats.sh • after the addition of many users
Schema Modifications • Ensure Tablespaces are auto-spaced and locally managed • Increase Cache on Sequences • Partition Indexes and tables • Not ES_INSTANCE • Re-organize the ES_INSTANCE table
SMTP_IN IMAP / POP Real Application Clusters • Mail access efficiently scales • Mail delivery does not • Point at a single instance
Tuning OID • Oidstats.sh • Analyzes tables • Creates cost based statistics • Run after adding large number of users
User Context Thread Pool User Context Thread Pool User Context Thread Pool Mail Server Processes SQL/NET Listener Active Socket List Global Context LDAPConnectionpool Mail StoreConnection Pool
Server Process Tuning • Number of instances • Number of threads per instance • Concurrent listeners • Connection Pool Configuration • Minimum • Increment • Maximum
Instances and Threads • Keep maximum threads low in SMTP Relay • Each instance of IMAP has a maximum limit of 1024 concurrent sockets • Some fat clients use up two
Webmail considerations • Create same number of OC4J_UM instances as CPU’s on the host • Monitor CPU usage • Ensure low latency between web server and the Internet Directory • Turn on HTTP compression • Turn off sorting • Set DB pool timing to ‘true’ during sizing
Determining optimal settings • Database connections • Client failures vs. wasted resources • Shadow processes on the database • .DUMP.Dbconnections.dump • Connection to usage falls off • Steep slope implies fast responses • Small usage is near max connection value
Determining optimal settings • Directory connections • No direct tool available • Set minimum to small number • But still greater than 1 • Set increment to ‘1’ • Use netstat to find number of connections established • Look for ‘ldap’ and ‘ESTABLISHED’
How far can you scale? • Mutually independent service processes • scale horizontally with extremely high limits • Millions of • Mailboxes • Messages • Folders
A store will be the eventual constraint • Multi-node systems • scale horizontally with extremely high limits • Millions of • Mailboxes • Messages • Folders
Q & Q U E S T I O N S A N S W E R S A