Claims
- 1. A system for selecting configurations of computer components, comprising:a general purpose computer executing application software; a configuration sizer tool that provides a user interface to determine a system configuration for a particular class of computer product in response to user performance and requirement specifications; and a price-performance module in the configuration sizer tool that evaluates the performance of candidate system configuration and normalizes to the price for the system configuration.
- 2. The system of claim 1, wherein the price-performance module determines performance based on response time estimates.
- 3. The system of claim 2, wherein the response time estimates are based upon processor latency added to the time to perform a database read times the number of physical database reads per transaction.
- 4. The system of claim 3, wherein processor latency is calculated dependent upon queue length, processor service time, and number of central processing units (CPUs).
- 5. The system of claim 4, wherein the latency is determined by the equations:queue length=processor utilization/(1−processor utilization) and latency=(queue length+1)×(processor service time×number of CPUs).
- 6. The system of claim 5, wherein processor service time is determined based on the number of physical reads, logical reads, and physical writes per transaction according to the following equations:physical reads=logical reads×(1−cache hit ratio) and physical writes=(−0.0135×cache hit ratio)2=(2.0632×cache hit ratio)−70.511.
- 7. The system of claim 6, wherein the cache hit ratio is determined by the following equation:cache hit ratio=(3.9162×log (cache pages/database megabytes)+79.856)/100.
- 8. The system of claim 5, wherein processor utilization is estimated based upon multiplying the transaction processor time by the transaction rate as determined by the equation:transaction rate=(number of users/20.9)+target response time.
- 9. The system of claim 3, wherein the time to perform a database read is calculated according to the following equations:database read rate=a×(I/O rate)2+b×(I/O rate)+c where a, b, and c are determined for a particular drive type through performance testing and where the I/O rate is determined according to the following equation:I/O rate=(reads per second+writes per second×(RAID factor)/drive quantity, where the RAID factor is one for RAID zero, two for RAID one, and four for RAID 5, and wherein the database reads per second and writes per second are calculated according to the following equations:reads per second=transaction rate×logical reads per transition and writes per second=transaction rate×logical writes per transition.
- 10. The system of claim 1, wherein the configuration sizer tool includes a configuration sizer and a configuration sizer framework.
- 11. The system of claim 10, wherein the configuration sizer is specific to an SQL server.
- 12. The system of claim 1, wherein the price and performance characteristics for candidate system configurations are provided in hardware definition files.
- 13. A method of selecting system configuration comprising the steps of:providing a configuration sizer tool to develop recommended configurations for a class of products in response to performance and requirement specifications from a user; calculating performance characteristics for candidate systems that satisfy the required performance and requirement specifications of the user; normalizing the performance characteristics to system price; and displaying the candidate systems to the user in order of normalized price/performance.
- 14. Computer executable code stored on machine readable media for selecting configurations of computer components, the computer executable code comprising:a configuration sizer tool that provides a user interface to determine a system configuration for a particular class of computer product in response to user performance and requirement specifications; and a price-performance module in the configuration sizer tool that evaluates the performance of candidate system configuration and normalizes to the price for the system configuration.
- 15. The computer executable code of claim 14, wherein the price-performance module determines performance based on response time estimates.
- 16. The computer executable code of claim 15, wherein the response time estimates are based upon processor latency added to the time to perform a database read times the number of physical database reads per transaction.
- 17. The computer executable code of claim 16, wherein processor latency is calculated dependent upon queue length, processor service time, and number of central processing units (CPUs).
- 18. The computer executable code of claim 17, wherein the latency is determined by the equations:queue length=processor utilization/(1−processor utilization) and latency=(queue length+1)×(processor service time×number of CPUs).
- 19. The computer executable code of claim 18, wherein processor service time is determined based on the number of physical reads, logical reads, and physical writes per transaction according to the following equations:physical reads=logical reads×(1−cache hit ratio) and physical writes=(−0.0135×cache hit ratio)2=(2.0632×cache hit ratio)−70.511.
- 20. The computer executable code of claim 19, wherein the cache hit ratio is determined by the following equation:cache hit ratio=(3.9162×log (cache pages/database megabytes)+79.856)/100.
- 21. The computer executable code of claim 18, wherein processor utilization is estimated based upon multiplying the transaction processor time by the transaction rate as determined by the equation:transaction rate=(number of users/20.9)+target response time.
- 22. The computer executable code of claim 16, wherein the time to perform a database read is calculated according to the following equations:database read rate=a×(I/O rate)2+b×(I/O rate)+c where a, b, and c are determined for a particular drive type through performance testing and where the I/O rate is determined according to the following equation:I/O rate=(reads per second+writes per second×(RAID factor)/drive quantity, where the RAID factor is one for RAID zero, two for RAID one, and four for RAID 5, and wherein the database reads per second and writes per second are calculated according to the following equations:reads per second=transaction rate×logical reads per transition and writes per second=transaction rate×logical writes per transition.
- 23. The computer executable code of claim 14, wherein the configuration sizer tool includes a configuration sizer and a configuration sizer framework.
- 24. The computer executable code of claim 23, wherein the configuration sizer is specific to an SQL server.
- 25. The computer executable code of claim 14, wherein the price and performance characteristics for candidate system configurations are provided in hardware definition files.
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to the following copending, concurrently filed, and commonly assigned United States patent applications which are hereby incorporated by reference:
U.S. patent application Ser. No. 09/126,023, entitled “METHOD FOR DESCRIBING AND STORING DESCRIPTIONS OF HIERARCHICAL STRUCTURES” to Christoph Schmitz, Keith L. Kelley, Charles A. Bartlett, Manoj J. Varghese;
U.S. patent application Ser. No. 09/126,025, entitled “METHOD OF DEVELOPING PHYSICAL REQUIREMENTS FOR COMPUTER CONFIGURATION” to Christoph Schmitz, Keith L. Kelley, Charles A. Bartlett, Manoj J. Varghese; and
U.S. patent application Ser. No. 09/126,022, entitled “SIZER FOR INTERACTIVE COMPUTER SYSTEM CONFIGURATION” to Christoph Schmitz, Keith L. Kelley, Charles A. Bartlett, Manoj J. Varghese.
US Referenced Citations (9)
Non-Patent Literature Citations (1)
Entry |
Bonnie Carter et al., “Oracle System Sizer™ Getting Started for Compaq Windows NT Systems, Rel. 2.3.1,” 1996, pp.1:2-1:5. |