You currently have a Tree topology. You should really stive for a Ring or Star topology to help minimize points of failure. Wikipedia has a decent article to help identify what you're working with.
For bandwidth and redundancy I would double up the physical links for each logical link (so if you're running a star, two links from each spoke to the hub switches). Make sure you're switches at least support spanning tree protocol if not something better like LACP to aggregrate links.
If you stick with the tree topo I would highly recommend that any parent "node" be two switches, linked, with redundant connections to the child "nodes". For instance. #5 in your diagram should be two physical switches that are linked to eachother. Then all child nodes 6 and 2/4 should have two physical links each (one link to each of the #5 physical switches).
You might also want to clarify what you mean by "best preformance". I read that as "highest availability with acceptable bandwidth"; where you might actually mean "best bandwidth, to heck with availability". It's easiest to just list your priorities in order: Availability, Bandwidth, Minimal Latency, Cost, Maintainability.
I always stick with 24-port (or less where appropraite) switches as the number of failed ports should the switch fail is minimized and the cost difference is typicaly minimal.
I know it's not what some people like to hear, but avoid the cheap consumer-grade switches like the plague. They simply don't have the features (STP, LACP, Warranty, Management, Configurability, etc) usually and that's the stuff that will bite you hard as your network grows. 3Com, ProCurve, and Cisco all make excelent switches and the cost is almost always justified by time saved screwing with problems.