If your data will not change frequently I would design your map in ArcMap with all of the scale dependent rendering and group layers based on scale. You'll have the layers you want in each scale group--meaning multiple times in ArcMap--but designed to display only the way you want it for that scale, labels, symbology, etc. Once you finish your design publish that map and then CACHE the map service. This is the critical step for fast web service, if you're planning to render the map in web clients. Your web apps will query, search, and interact with the data, but the heavy processing to generate a map image each time the user moves the map is eliminated.--cache is the key.
Caching will work on anything in your map service. It basically pregenerates the map images that your server will display. This works great with maps with layers that don't change frequently because the map server and SQL server don't have to "spin up" new images each time the map is moved. The server simply selects the map tile ( cached image) and returns that. The data behind the service is still present for query, info, search, etc. If data changes but geometry or symbology of features doesn't caching is still a great option. Even if your layers do change you can script caching to rebuild only areas that have changed. It takes a while to build your cache the first time but updates to changed areas only run much faster because you're only updating areas instead of rebuilding the entire tile library (cache).