The term "rendered" is incorrect here, as that implies the client will render blocks and entities even when they are not within range to do so. Instead, "loaded" is the appropriate term, as the spawn chunks are forcibly loaded into memory by the server in order to send update ticks.
The spawn chunks encapsulate a large number of chunks, which surrounds the world spawn coordinates (modified by
/setworldspawn). Image showing the maximum size, where the world spawn coordinates are within the center of a chunk:
The white square represents the chunk that the world spawn coordinates reside within. The red section shows where entities and tile entities will always be sent update ticks, being a 13x13-chunk area. The blue section shows chunks where tile entities will receive update ticks, but regular entities will not, being a 17x17 area. The green section shows chunks that are loaded, though nothing will function in that area.
Update ticks will not be sent if there are no players in the overworld after 60 seconds (15 seconds in 1.9), meaning that while the spawn chunks are still loaded, some mechanisms that rely on update ticks (such as hoppers) will not function. Command blocks themselves do not rely on update ticks, so will still function even when no players are in the overworld.
You would want to place your command blocks in any of the red/blue chunks.