1. A method, comprising steps of: constructing a knowledge base having optimal configurations for a plurality of categorized software systems, comprising: using a computer or processor to perform the steps of: creating a plurality of vectors of a number of dimensions based on a sum of system parameters, profiling data and tuning variables; generating a first set of clusters of the vectors based on an overall score of each of the vectors; generating a second set of clusters of the vectors based on ordered system configuration parameters and tuning parameters; deriving relative importance of system configuration parameters and the tuning parameters for different system types; and prioritizing the system configuration parameters and the tuning parameters for each of said different system types and generating a decision tree for each of said different system types; categorizing a software system; searching the knowledge base having optimal configurations for said plurality of categorized software systems to determine a configuration parameter set for the software system based on the categorizing of said software system, said knowledge base having optimal configurations being stored in a storage device; determining whether the configuration parameter set is an optimal configuration for said software system; and if the configuration parameter set is not an optimal configuration for said software system, conducting further testing of said software system utilizing the knowledge base to determine an optimal configuration parameter set.