In general, is it good practice to use iSCSI accessible SAN (Storage Area Network) for data storage in server?
There's no such thing as 'in general' it depends on your requirements. iSCSI isn't an internal storage mechanism - that is it's not how you'd link a disk directly inside a server, it's slow and needlessly complex for such a job where SATA or SAS would be far better.
In terms of speed iSCSI works at whatever the interface is so typically 100Mbps, 1Gbps and 10Gbps - equating to ~10MBps, 100MBps and 1GBps though only if the actual disk array can keep up and the controller/s aren't too busy serving other requests.
Now onto whether it's right for you, the first thing to know is that iSCSI is block-level storage, it's up to the client machine's file systems (which obviously varies based on OS) to mount, partition, format and manage this block-level storage. Most filesystems aren't cluster-aware meaning that they can't share this data with any other machine/s unless they're all using the exact same cluster-aware file system. This is an important distinction, as some software requires block-level storage. The other main block-level storage system is Fibre-Channel which uses a dedicated network, usually at 1, 2, 4 or 8Gbps but usually has far less network contention that iSCSI.
iSCSI is not a NAS file system which allows for file-level sharing such as NFS, CIFS/SMB, HTTP, FTP/SFTP etc.
So if all depends on what you're trying to achieve - let us know and we'll be able to help you better.
I use iSCSI for SAN backed Clusters; works great, but if you're getting 1MBps, something's probably wrong. The SAN I use daily does 120MB+ sustained.