ZFS cache vdevs will help when the system gets some usage -- the cache has to fill. You may check with
how much of the cache device is full -- it is most efficient when this shows the cache device is almost full (don't worry it will not overflow);
The zlog vdevs can help in read/write cases, because the ZIL will not be allocated/freed on the storage drives and thus will not impact storage performance. You should see immediate effect from the zlog, but not with typical tests like 'copy a file to the filesystem', rather with more multi-tasking load.
There are opinions, that iSCSI in FreeBSD is not yet very well performing. This might or might not be true - and would be the bottleneck in your case. What does
show for the I/O utilization of drives while you do your tests?
# zpool iostat -v
how much of the cache device is full -- it is most efficient when this shows the cache device is almost full (don't worry it will not overflow);
The zlog vdevs can help in read/write cases, because the ZIL will not be allocated/freed on the storage drives and thus will not impact storage performance. You should see immediate effect from the zlog, but not with typical tests like 'copy a file to the filesystem', rather with more multi-tasking load.
There are opinions, that iSCSI in FreeBSD is not yet very well performing. This might or might not be true - and would be the bottleneck in your case. What does
# gstat
show for the I/O utilization of drives while you do your tests?