New in FME Cloud, whenever you launch a new instance the primary disk is a solid state drive (SSD) rather than a magnetic drive. This comes at no additional cost. We are leveraging the new AWS General Purpose SSD that Amazon released in June. The SSD disks brings significant performance gains to FME Cloud users:
- IOPS increase with disk size – For each GB you get 3 IOPS (Input/Output Operations Per Second) – a 10GB disk has 30 IOPS, a 500GB comes with 1500 IOPS.
- Performance burst mode – All disk sizes come with a burst mode which provides up to 3000 IOPS (read more on the AWS blog here). This burst mode is crucial as it allows you to bank up to 5.4 million IOPS per volume and then use them at 3000 IOPS per second when a spike comes in.
- No charge anymore for high disk usage – Amazon no longer charges for IOPS (input/output operations per second) usage on General Purpose SSDs so we don’t charge you.
The previously used magnetic disk comes with 40 – 200 IOPS, since a 10GB disk now only has 30 IOPS on paper it might look like performance has gone backwards. This might be true in very rare cases, but in most cases, users will actually benefit from the new disk type because of the burst mode.
To explain why, let’s describe the server design in more detail. Every single server uses three different disks, a root disk (Magnetic EBS), a temp disk (local SSD) and a primary disk (General Purpose SSD EBS).
The temp disk size varies based on the size of the instance you launch and is a local SSD. This disk has very high performance (up to 30,000 IOPS!) and FME Server uses it to write temporary files. The reason why we don’t put all data on here is because if the instance fails, the data is lost.
The root disk contains the operating system and does not have any influence on the FME Server and PostGIS performance.
The primary disk is the one you size when you launch the instance and it contains the full FME Server installation including shared resources and the PostGIS database. As a result, all permanent data written out by FME Server is on this disk.
FME can do a lot of different things and it behaves very differently depending on the data and job, but I’ll describe three general scenarios and how the latest change will affect each one.
Scenario 1 – Cloud-to-Cloud transformations
In this scenario no data is stored on the primary disk, everything is retrieved from and written to other servers. If FME needs to write any temporary files out, the local SSD will be used. If you are carrying out translations similar to this, the speed and size of the local temp disk (which got significantly faster with the instance types upgrade back in April and the Starter upgrade in August) will be of more interest.
Scenario 2 – Local feature dataset
To test this, we used a 3GB CSV file which had 10 million rows, each row with eleven attributes. I then ran a workspace to read the file, concatenate all attributes and write it to another text file. This test was performed on three different instances:
- Old standard instance with 20GB magnetic primary disk (40-200 IOPS)
- New standard instance with 20GB general purpose SSD primary disk (60 IOPS + burst)
- New standard instance with 500GB general purpose SSD primary disk (1500 IOPS + burst)
All instances had two engines (one per CPU core) and I was running two jobs at the same time. Surprisingly, the results did not show any differences in runtime in either creating the CSV file or reading/writing the CSV file. Further analysis showed that the CPU was the bottleneck of the transformation (to increase performance you would need a larger instance). Therefore, if your transformation is reading and writing features, you most likely won’t notice any difference in performance. However, because IOPS are now fully included you may save money because no matter how much you are using the primary disk, we won’t charge you.
Scenario 3 – Local raster dataset
In this scenario, I used the same instance setup as in scenario 2. This time I uploaded a 700MB TIFF to all servers, queued 20 jobs, and recorded the time it took for them all to complete. The workspace simply read the TIFF and wrote a new one. In this case, the differences were significant. Both SSD instances were about 2.5x faster than the instance with the magnetic disk. The result surprised me at first as I expected the larger SSD to be faster, but it seems like both disks were running in burst mode. These tests, while not extensive, seem to back up the AWS statement that “… most applications won’t exceed their burst and actual performance will usually be higher than the baseline”.
In summary, here all the advantages that come with us switching to General Purpose SSDs:
- All disks come with burst mode.
- Disk performance can be improved by expanding the primary disk.
- No more IOPS charges.
If you have any question how you should design your workspace to leverage the FME Cloud architecture, we are happy to help. Comment below or contact us via email@example.com.