Methods and systems for automated tuning of a service configuration are disclosed. An optimal configuration for a test computer is selected by performing one or more load tests using the test computer for each of a plurality of test configurations. The performance of a plurality of additional test computers configured with the optimal configuration is automatically determined by performing additional load tests using the additional test computers. A plurality of production computers are automatically configured with the optimal configuration if the performance of the additional test computers is improved with the optimal configuration.
Please help me write a proper abstract based on the patent claims. CLAIM: 1.-5. (canceled) 6. The method as recited in claim 5, further comprising: automatically determining a performance of the plurality of production computers configured with the optimal configuration; and automatically restoring an earlier configuration of the plurality of production computers if the performance with the optimal configuration is not superior to an earlier performance with the earlier configuration. 7. The method as recited in claim 5, further comprising: receiving a user-defined performance goal; wherein the optimal configuration is automatically selected to meet the user-defined performance goal. 8. The method as recited in claim 5, further comprising: receiving a user-defined testing frequency; wherein automatically selecting the optimal configuration is scheduled according to the user-defined testing frequency. 9. The method as recited in claim 5, further comprising: automatically provisioning the plurality of test computers from among the plurality of production computers. 10. The method as recited in claim 5, further comprising: automatically provisioning the plurality of test computers from among a pool of available test computers, wherein the plurality of test computers are selected based on a similarity to the plurality of production computers. 11. The method as recited in claim 5, further comprising: automatically determining one or more configurable parameters in the test computer; automatically determining a range of values for the one or more configurable parameters; and for each of the plurality of test configurations, automatically assigning respective values for the configurable parameters within the range of values. 12. The method as recited in claim 5, further comprising: automatically generating a plurality of test loads using a hill-climbing loop, wherein each successive iteration of the hill-climbing loop increases a frequency of transactions; wherein the plurality of load tests are performed using the test loads. 13. A system, comprising: at least one processor; a memory coupled to the at least one processor, wherein the memory stores program instructions, wherein the program instructions are executable by the at least one processor to: automatically select one or more optimal parameter values for a service on a test computer, wherein, for each of a plurality of test parameter values for the service on the test computer, the program instructions are executable by the at least one processor to execute one or more load tests on the test computer, wherein the one or more optimal parameter values are automatically selected from among the plurality of test parameter values; automatically determine a performance of the service on a plurality of additional test computers configured with the one or more optimal parameter values, wherein the program instructions are executable by the at least one processor to execute a plurality of additional load tests on the plurality of additional test computers; and automatically configure the service on a plurality of production computers with the one or more optimal parameter values if the performance of the service on the plurality of additional test computers is improved with the one or more optimal parameter values. 14. The system as recited in claim 13, wherein the program instructions are further executable by the at least one processor to: automatically determine a performance of the service on the plurality of production computers configured with the one or more optimal parameter values; and automatically restore one or more earlier parameter values of the service on the plurality of production computers if the performance of the service with the one or more optimal parameter values is not superior to an earlier performance with the one or more earlier parameter values. 15. The system as recited in claim 13, wherein the program instructions are further executable by the at least one processor to: receive a user-defined performance goal; wherein the one or more optimal parameter values are automatically selected to meet the user-defined performance goal. 16. The system as recited in claim 13, wherein the program instructions are further executable by the at least one processor to: receive a user-defined testing frequency; wherein automatically selecting the one or more optimal parameter values is scheduled according to the user-defined testing frequency. 17. The system as recited in claim 13, wherein the program instructions are further executable by the at least one processor to: automatically provision the plurality of test computers from among the plurality of production computers. 18. The system as recited in claim 13, wherein the program instructions are further executable by the at least one processor to: automatically provision the plurality of test computers from among a pool of available test computers, wherein the plurality of test computers are selected based on a similarity to the plurality of production computers. 19. A computer-readable storage medium storing program instructions computer-executable to perform: automatically selecting an optimal configuration for a first computer system, comprising, for each of a plurality of test configurations for the first computer system, performing one or more load tests using the first computer system, wherein the optimal configuration is automatically selected from among the plurality of test configurations, and wherein the optimal configuration comprises one or more parameter values; automatically determining a pre-production performance of a plurality of additional computer systems configured with the optimal configuration, comprising performing a plurality of additional load tests using the plurality of additional computer systems; and automatically configuring a plurality of production computer systems with the optimal configuration if the pre-production performance of the plurality of additional computer systems is improved with the optimal configuration. 20. The computer-readable storage medium as recited in claim 19, wherein the program instructions are further computer-executable to perform: automatically determining a performance of the plurality of production computer systems configured with the optimal configuration; and automatically restoring an earlier configuration of the plurality of production computer systems if the performance with the optimal configuration is not superior to an earlier performance with the earlier configuration. 21. The computer-readable storage medium as recited in claim 19, wherein the program instructions are further computer-executable to perform: receiving a user-defined performance goal; wherein the optimal configuration is automatically selected to meet the user-defined performance goal. 22. The computer-readable storage medium as recited in claim 19, wherein the program instructions are further computer-executable to perform: automatically determining one or more configurable parameters in the test computer system; automatically determining a range of values for the one or more configurable parameters; and for each of the plurality of test configurations, automatically assigning respective values for the configurable parameters within the range of values. 23. The computer-readable storage medium as recited in claim 19, wherein the program instructions are further computer-executable to perform: automatically generating a plurality of test loads using a hill-climbing loop, wherein each successive iteration of the hill-climbing loop increases a frequency of transactions; wherein the plurality of load tests are performed using the test loads.