Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
admin:applications:production [2009/12/08 04:51]
els created
admin:applications:production [2012/10/26 14:26] (current)
Line 12: Line 12:
 Like any production application,​ Omnidex applications should be monitored to insure the best performance and flexibility. ​ Monitoring an Omnidex application is very similar to monitoring any production application. ​ Overall performance is monitored by checking on the available system resources for the servers. ​ Load balancing and connection pools are commonly used to insure the highest performance and connectivity. ​ It is also important to watch for competing processes running on the servers as they can adversely affect Omnidex performance. Like any production application,​ Omnidex applications should be monitored to insure the best performance and flexibility. ​ Monitoring an Omnidex application is very similar to monitoring any production application. ​ Overall performance is monitored by checking on the available system resources for the servers. ​ Load balancing and connection pools are commonly used to insure the highest performance and connectivity. ​ It is also important to watch for competing processes running on the servers as they can adversely affect Omnidex performance.
  
-There are several common strategies for monitoring ​a production Omnidex application:​+There are several common strategies for maintaining ​a production Omnidex application:​
  
   - [[#​Monitoring_system_resources|Monitoring system resources]]   - [[#​Monitoring_system_resources|Monitoring system resources]]
Line 22: Line 22:
 ==== Monitoring System Resources ==== ==== Monitoring System Resources ====
  
-Omnidex delivers the highest performance when there is a healthy balance between the main system resources: processor speed, memory and disk access.  ​These three resources form a chain, and Omnidex'​s performance is limited by the slowest of these three resources.+Omnidex delivers the highest performance when there is a healthy balance between the main system resources: processor speed, memory and disk access. ​ Omnidex'​s performance is limited by the slowest of these three resources.
  
-Omnidex uses a great deal of all these resources when building indexes. ​ Building indexes is a very intensive process and is often localized ​to a separate server for this reason. ​ Building indexes on a server that is actively servicing concurrent users can degrade performance.+Omnidex uses a great deal of all these resources when building indexes. ​ Building indexes is a very intensive process and is often localized ​on a separate server for this reason. ​ Building indexes on a server that is actively servicing concurrent users can degrade ​the performance ​of both activities.
  
-Well-optimized Omnidex queries will use large, ​short bursts of all of these resources. ​ That is the goal of most of Omnidex optimization -- to allow the query to complete quickly ​enough ​that resources are quickly ​freed for the next query.  ​In many highly-responsive ​applications,​ long-running queries ​are avoided or redirected ​to a separate server to insure the best performance.+Well-optimized Omnidex queries will use short bursts of all of these resources. ​ That is the goal of Omnidex optimization -- to allow the query to complete quickly ​so that resources are freed for the next query.  ​This will happen naturally with well-optimized ​applications; however, some applications will also need to support ​long-running queries.  If needed, these applications can redirect these queries ​to a separate server to insure the best performance.
  
  
 ==== Load Balancing ==== ==== Load Balancing ====
  
-Omnidex responds well to load balancing. ​ Omnidex does not provide its own load balancing, but rather ​responds to general load balancers that are used across the application or the enterprise. ​ Typically, load balancers direct queries to lightly loaded servers, and this helps insure that all Omnidex queries remain fast.  Some load balancers may also direct certain classes of queries to specific servers in recognition of their resource needs.+Omnidex responds well to load balancing. ​ Omnidex does not provide its own load balancing, but it easily ​responds to general load balancers that are used across the application or the enterprise. ​ Typically, load balancers direct queries to lightly loaded servers, and this helps insure that all Omnidex queries remain fast.  Some load balancers may also direct certain classes of queries to specific servers in recognition of their resource needs.
  
 ==== Connection Pools ==== ==== Connection Pools ====
  
-Connection pools are a common ​way to insure the speed of queries ​by maintaining a set of cached connections.  These cached connections keep the Omnidex Environment open, along with the corresponding database connections and Omnidex index files.  ​Applications can use connection pooling services such as Java's DBCP services. ​ Alternatively,​ Omnidex Network Services provides a connection pooling facility.  ​+Connection pools are a common ​method of caching database connections. ​ This helps insure the speed of queries. ​ These connection pools will the Omnidex Environment open, along with the corresponding database connections and Omnidex index files.  ​Many applications ​use connection pooling services such as Java's DBCP services. ​ Alternatively,​ Omnidex Network Services provides a connection pooling facility.  ​
  
 ==== Competing Applications ==== ==== Competing Applications ====
  
-Omnidex performance can be impacted by other applications running on the server. ​ One of the most common examples ​of this is the relational database itself. ​ Most relational databases will vary number of concurrent processes ​and the amount ​of memory ​to maximize ​their performance. ​ Relational databases rely more heavily on disk access as well.  It is common to see a large multi-processor machine with plenty of memory and fast disk drives fully consumed by the relational database. ​ When this happens it is appropriate to move Omnidex onto a different server than the database. ​ +Omnidex performance can be impacted by other applications running on the server. ​ One of the most common examples is the relational database itself. ​ Most relational databases will spawn as many threads as the server will support, ​and will consume ​the majority ​of the memory ​on the server. ​ This maximizes ​their performance ​but degrades the other processes on that server.  Relational databases rely more heavily on disk access as well.  It is common to see a large multi-processor machine with plenty of memory and fast disk drives fully consumed by the relational database. ​ When this happens it is appropriate to move Omnidex onto a different server than the database, and direct Omnidex to access the database over the network.
  
 ==== Periodic maintenance ==== ==== Periodic maintenance ====
  
-Omnidex applications do not need much periodic maintenance.  ​Primarily, it is valuable to insure that the Omnidex index files are unfragmented ​by regularly defragmenting the disk drives.  ​This is also important ​for the underlying data, especially in the case of raw data files. ​ Omnidex ​will also use temporary file space, ​and this drive should be maintained with plenty of unfragmented disk space.+Omnidex applications do not need much periodic maintenance.  ​It is valuable to defragment ​the Omnidex index files by regularly defragmenting the disk drives.  ​It is also important ​to defragement ​the underlying data, especially in the case of raw data files. ​ Omnidex ​uses a  ​temporary file space, ​so so the drive containing the temporary file space directory ​should ​ be maintained with plenty of unfragmented disk space.
  
 ====== ====== ====== ======
 +\\ 
 +----
 +\\ 
  
 The next stage in building an Omnidex application is [[admin:​applications:​optimization|Optimization]]. The next stage in building an Omnidex application is [[admin:​applications:​optimization|Optimization]].
  
 {{page>:​bottom_add&​nofooter&​noeditbtn}} {{page>:​bottom_add&​nofooter&​noeditbtn}}
 
Back to top
admin/applications/production.1260247864.txt.gz ยท Last modified: 2012/10/26 14:25 (external edit)