We consider an M/G/∞ exchangeable-item repair system with spares and ample servers into which arriving customers bring failed items for repair. The system operates a multi item types, multi echelon system so that failed items may be either repaired at the first echelon or sent for repair in higher echelons. To decrease the average waiting time of a random customer, managers can invest in multiple ways: increasing the number of spares, reducing repair times, improving repair capabilities and reducing shipping times. We provide an efficient algorithm for a sub-optimal budget allocation at each location in the system and derive an upper-bound for the distance of the solution from the optimal solution. We derive the waiting time distribution of a random customer and the distribution of the number of customers in the system. Finally, we provide a numerical example that is motivated by a real-life situation to demonstrate the results and intuitions learnt from the model.