This paper focuses on recommending optimal cloud configuration for deploying complex user workloads. Such recommendation has become imperative in recent times for cloud users to reduce complexity in selecting a configuration. The number of different configuration options has increased many-fold due to the proliferation of cloud providers and different non-standardized offerings from these providers. Furthermore, the performance and price implications are unknown beforehand, when a cloud user deploys her workload into these different configurations. The problem gets exacerbated since cloud providers generally keep the underlying infrastructures and technologies non-transparent to users. In this paper, we present (i) a benchmark-based modeling approach to accurately estimate the performance of workloads on target black-box cloud configurations; and (ii) a search algorithm that first generates a capability vector consisting of relative performance scores of resource types (e.g., CPU, memory, and disk) for each configuration and then, identifies a near optimal cloud configuration based on the capability vectors. Experiments show that our approach accurately estimates the performance capability, and performs efficient search for the near optimal cloud configuration that has the minimum price while meeting the throughput goal.