Who wants to wait around for other people/things?
Defiantly not your cache server, and if it is waiting around, then there could be a problem somewhere.
See my case below:

The server has only 4 CPUs, and its load average is almost double that.
Wow, why is there so much work happening on the CPU? What is could it be processing that is causing such high load?
Nothing. The Answer is ZERO.
It isn’t doing a thing, but it is rather, waiting.
If you take a look at the Kernal Usage graph, we see that we are waiting. A lot. This is due to the disks in this high-demand cache really not being able to fit the load its expected to do, serve a lot of content to a country of users.
Poor thing.
As it stands this box has 3 x 3TB Drives in it. Striped for ghaddagofast speeds. But it still isn’t enough. It would seem like the actual transfer rates are okay, and don’t seem to be a bottleneck, but rather the IOps they are expected to be able to serve.
This problem could be EASILY solved with 1 x SSD. Seriously easily, and a little $$.
But $$ isn’t always on your side. People like their $$$.
So we have to use what is around, which in this case is alot of servers and magnetic drives.
Cool, we can just pop some more HDDs into the server, cant we?
Wrong.
The server is 1U big with 3 bays as is. There is no space.
So now, we plan stuff. We need to make a plan. Or we scrap the project.
So we get 2 x of the Old servers.
These can take 3 x Drives each. We populate the bays.
We then install FreeNAS, because I quite enjoy using it and it sends me emails, which I quite like.
It also supports iSCSI, which we plan to use to share the drives over 2 x 1Gbps NICs.
iSCSI, which stands for Internet Small Computer System Interface, works on top of the Transport Control Protocol (TCP) and allows the SCSI command to be sent end-to-end over local-area networks (LANs), wide-area networks (WANs) or the Internet.
Will it work? I hope so. If it doesnt work after this, that really is kinda sucky.
Time will tell, right?