I selected the Apalis-T30 module to build a server for a specific application. The module will be connected via a ethernet cable (cat 5e or cat6) and will listen for packets incoming to the socket. The main job is to receive data that is incoming at a rate of 60 MB/s. The application must receive the data and save it to an onboard SSD. I can provide the data sheet for the ssd if needed, but the drive supports SATA Revision 3.1. I setup the SSD as an ext3 filesystem. The software application (in C) is setting up a UDP socket to receive the data and and then write to the drive. Although UDP is unreliable it was chosen due to being able to handle high transfer speed. The software starts a clock to measure the write speed to the SSD. The results average between 3~4 MB/s. For the client I am using a python script that basically reads a file (100MB) and sends it to the server.
I attempted to run hdparm to benchmark the read speed of the SSD and this is what I get:
root@apalis-t30:~# hdparm -t /dev/sda /dev/sda: Timing buffered disk reads: 150 MB in 3.00 seconds = 49.94 MB/sec
This really concerns me as I am thinking that the read should be much faster than the write speed. I understand that there are other factors in play such as the network and the speed limitation is controlled by whatever is slowest. However I would like to begin ruling out possible issues beginning with the module capabilities. Is there anyway we can test the theoretical speed values of the Apalis T30?
The main goal is to achieve the 60 MB/s write speed coming into the module via ethernet and then write to the SSD drive. Can the T30 handle this? Thanks in advance for your help.