As a service-oriented paradigm, web service composition has obtained great attention from both academia and industry, especially in the area of cloud service. Nowadays more and more web services providing the same function but different in QoS are available in cloud, so an important mission of service composition strategy is to select the optimal composition solution according to QoS. Furthermore, the selected composition solution should satisfy the service level agreement (SLA) which defines users` request for the performance of composite service, such as price and response time. A composite service is feasible only if its QoS satisfies user`s request. In order to obtain composite service with the optimal QoS and avoid SLA violations simultaneously, in this paper we first propose a QoS evaluation method which takes the SLA satisfaction into account. Then we design a service selection algorithm based on our QoS evaluation method. At last, we put forward a parallel running strategy for the proposed selection algorithm. The simulation results show that our approach outperforms existing approaches in terms of solutions` optimality and feasibility. Through our running strategy, the computation time can be reduced to a large extent.