PHP-SAS Performance Analysis

Since our release of phpSAS into production we wanted to explain a bit more how it works. Specifically in terms of the performance differences.

To start off, phpSAS is much like SRAS in that it is stores files to disk directly, then organizes the data using SQL. It was built to support both PostgreSQL and MySQL/MariaDB so that an existing SRAS database can be dropped in without any issues. Furthermore, we have noticed that PHP 7’s ability to query is far faster than that of Ruby 1.9.3, which was the last working version that could run SRAS. So in simple terms, a request comes into phpSAS which then queries the SQL database which in turn returns the information and location of the asset, then serves the asset back to the grid/simulator/user.

Since running it in production on several different types of grids, low to high load environments, we wanted to report exactly what we are seeing on our end in terms of the performance. First off let’s look at the raw statistics.

Grid Active Users Number of Assets Memory Usage (phpSAS) Memory Usage (SRAS)
37 902,113 (84.2 gb) 32mb 215mb
135 534,052 (48.7 gb) 48mb 1.2gb
284 3,308,648 (148.9 gb) 54mb 3gb

As you can see from the data above, the statistic speaks for itself. The new asset server is able to scale significantly higher, and with the ability to put it behind a load balancer allows it to handle even higher spikes of traffic. The reason we have not included CPU load is because there is really no significant CPU load to speak of. Both SRAS and phpSAS never really spiked above 2 percent load even during heavy traffic of loading IAR’s or OAR’s from multiple simulators.

In terms of end-point performance for the client the following chart should give you some idea of the performance compared to the other asset servers. Please note that mileage may very on these results depending on hardware and the grid’s connection. We tested this with fairly simple mesh, textures, and objects. The Viewer was run on a machine with 8gb of ram and a Nvidia grid card on ultra-settings, while on a 1Gbps connection. Provided by LiquidSky.

Stock FSAssets SRAS phpSAS
Mesh 4.12 1.55 1.89 1.31
Textures 2.07 2.01 2.15 2.01
Objects 2.81 3.01 2.67 1.41

If you are interested in seeing the difference for yourself then head over to ZetaWorlds and create a local account. While you could use the hypergrid, you will most likely not see a great difference in performance, as load times greatly depend on the performance of the grid you are teleporting in from.

2 thoughts on “PHP-SAS Performance Analysis

Comments are closed.