Content Delivery Network
The servers that host the website-management application are separated from the infrastructure that serves static files, like images. The application server only has to handle a single request for every page view, while the rest is handled by specialized infrastructure. This significantly decreases the load on the application server. Vixu.com uses a Content Delivery Network (CDN) to host the static files. The Content Delivery Network consists of dozens of smaller data centers that are spread all over the world. Whenever a visitors requests a page the files are loaded from the closest data center. So a visitor from Japan would get the files from a server in Tokyo, even if the application server is on another continent. This means that the files are stored on a global network of nodes, so they don't have to travel as far to reach the visitor, which makes them load a lot faster. Because performance is so important for Vixu.com, this additional infrastructure is included with every subscription by default.
Global network of application servers
The internet is a global network and if you add extra servers to your subscription you will see significant increases in performance, because Vixu.com will route visitors to the server closest to them. Vixu.com rents application servers from various cloud providers that have data centers all over the world. That includes several locations in Europe, the United States, South America and Asia. This is great for redundancy, because it means that customers with servers in multiple data centers don't risk downtime if a single facility suffers an outage. It is also a way to make your website faster. Like with the Content Delivery Network for static files, it is also possible to route visitors to an application server that is geographically closer to them. Network traffic is limited by the speed of light and is slowed down by every hop, for example by routers. This introduces a noticeable delay, especially for visitors from different continents. Adding a server on a different continent will significantly improve the user experience of your visitors from that part of the world.
Fast technology stack
The website-management software is written in Clojure and makes heavy use of Java libraries for performance sensitive parts of the application. These languages are significantly faster than alternatives, like PHP, Python, Ruby and Perl. Performance isn't the only reason why Clojure is the ideal choice for the website-management application, but making things faster is always a priority. The Clojure language makes use of the Java Virtual Machine. This platform is extremely fast and stable. As a popular choice in both the academic world and big enterprise the JVM has been studied and polished extensively in the last two decades.
Vixu.com uses many performance enhancements on the server-side, like caching precomputed pages to avoid spending unnecessary processing time, but 80-90% of wait time happens after the page has already been downloaded by the visitor (see Souders, High Performance Websites). Vixu.com optimizes heavily on the client-side. A lot of these optimizations are also good engineering practices that have other benefits as well, like making it easier to index the site for search engine crawlers. The compression of web pages is another example, because it not only makes the site faster, but is also economic in terms of bandwidth.
Studies related to website performance
- Online performance is business performance. Simic, Godskind, Lubahn, 2010.
- The performance of web applications: customers are won or lost in one second. Aberdeen Group, 2008.
- Retail website performance: consumer reaction to poor online shopping experience. Jupiter Research (sponsored by Akamai), 2006.
- Website response times. Nielsen, 2010.
- Proof that speeding up websites improves online business. Croll, 2009.
- Performance related changes and their user impact. Brutlag, Schurman, 2009.