Most recent edit on 2011-10-21 14:11:21 by Admin
Deletions:
From
Warning: file(http://xml.amazon.com/onca/xml3?t=performanc0ec-20&dev-t=D2A4M8KV5P9GZU&AsinSearch=0201722291&mode=books&sort=+pmrank&offer=All&type=lite&page=&f=http;//www.performancetester.com/amazon/1.xsl) [function.file]: failed to open stream: HTTP request failed! HTTP/1.1 410 Gone
in /home/stensca/public_html/kb/actions/isbn.php on line 12
Warning: implode() [function.implode]: Invalid arguments passed in /home/stensca/public_html/kb/actions/isbn.php on line 12
Edited on 2005-11-27 02:15:23 by Admin
Additions:
From
Warning: file(http://xml.amazon.com/onca/xml3?t=performanc0ec-20&dev-t=D2A4M8KV5P9GZU&AsinSearch=0201722291&mode=books&sort=+pmrank&offer=All&type=lite&page=&f=http;//www.performancetester.com/amazon/1.xsl) [function.file]: failed to open stream: HTTP request failed! HTTP/1.1 410 Gone
in /home/stensca/public_html/kb/actions/isbn.php on line 12
Warning: implode() [function.implode]: Invalid arguments passed in /home/stensca/public_html/kb/actions/isbn.php on line 12
Deletions:
From
Edited on 2005-11-23 10:26:53 by RolandStens
Additions:
- Weighing Performance versus Maintainability
Edited on 2005-11-23 10:01:22 by RolandStens
Additions:
- J2EE: Performance Patterns and Techniques∞.
Deletions:
- J2EE Performance Patterns and Techniques∞.
Database Performance Patterns∞.
Oldest known version of this page was edited on 2005-10-24 14:16:54 by Roland Stens []
Page view:
Performance Patterns
Definition: a pattern is a common solution that appears in many different contexts.
- Captures expert knowledge.
- Solves ?reinventing the wheel.?
- Identifiy abstractions.
Performance patterns: higher level than design patterns.
Fast Path
- Some things are done more often than others, so streamline these operations (i.e. shorten the critical path).
- Defer other operations if possible.
- Other Benefits
- Spreads the load out in time, or avoids it altogether.
Caveat Emptor!
- Be sure the fast path is the actual path being used!
First Things First
- Things which matter most should never be at the mercy of things which matter least. (Goethe)
- Same as in time management: prioritize!
Caveat Emptor!
- This only works if overloads are temporary.
Coupling
- Make the interface match the application. (Especially for distributed applications as RPC calls are expensive!)
- batch up requests into one call.
Caveat Emptor!
- A new application may have a lot of churn.
Batching
- Combine multiple similar requests into one big request.
- Overhead of processing requests is amortized over the batch.
- Benefits
- Reduces overall demand.
Caveat Emptor!
- Batching infrequent requests will cause unnecessary delays.
- Batching itself may cause more delays.
Alternate Routes
- Spread demand for high-usage objects spatially.
- partition the data.
- route requests to different processes.
Caveat Emptor!
- If all requests take the same route, you?re no better off.
Flex Time
- Spread the demand temporally.
- i.e. Run jobs later when there is less demand.
- Or, run them ahead of time and save results.
Benefits:
- Lower queueing delays overall.
Caveat Emptor:
- May actually increase total demand.
Slender Cyclic Functions
- (common in embedded real-time systems).
- Minimize the time spent in periodic functions.
- Push as much processing as possible into non-time-critical functions.
From
Additional Information