You have insufficient space.
For any type of block storage, such as vmdk storage, where you want good performance, you need two things: mirrors plus LOTS of free space. You do not want to fill a vmdk datastore more than about 50% full. Over time, even at 50% full, performance won't be that great. Check out this graph:
Now, here's the interesting thing. The random steady state throughput of a raw single disk drive without ZFS is about 150 IOPS, or around 600KB/sec. If you look at this graph of performance of ZFS, you'll notice that as the disk fills, the graph trends downwards and approaches that 600KB/sec rate when the pool is around 90% full. The problem is, with ZFS, "random" and "sequential" writes are handled in roughly the same way, so at 90% full, your ZFS pool will be writing fairly slowly, because it is having to seek all over the place to find little teeny blocks of space that are available on the pool, even for things that you might think are "sequential" writes. On the flip side, leaving lots of free space (let's say by using only 10% of the space) means that ZFS is capable of writing both random and sequential data out at 6000KB/sec, or ten times the speed that the underlying raw device would be capable of. That's because ZFS is reordering all of that into contiguous ranges and writing it without tons of seeks.
This is key to understanding ZFS performance with block protocols, since block protocols are very stressy on the random writes.
If you need 5TB of space to store vmdk's, you want 10-15TB of pool space. That requires 20-30TB of raw space, because your pool should be mirrors.
You can take your seven 1TB disks and make three 1TB mirror vdevs and a warm spare. It'll give you a 3TB pool of which you shouldn't use more than about 1-1.5TB.
To get where you say you need to be, I would suggest taking 4 6TB drives and creating two 6TB mirror vdevs. That'll give you a 12TB pool which should do a reasonable job of storing your 4.5TB, but if it seems slow or if you need more space, you can always add another pair of 6TB drives to get additional speed/space.
Feel free to complain that this seems like a lot of resources to commit to providing storage. The thing is, you give ZFS what it needs, and ZFS will treat you well. You are trading one thing for another with ZFS. Our VM filer here uses 48TB of raw disk to provide a 7TB datastore.