Every so often Marketing strong arms me into delivering a blog post, and seeing as it has been some time since my last one, I wanted to make sure to cover a topic that would be of interest to our intranet IT admins and provide some value for them to better serve their end users.
Simply put, intranets are web applications frequently housed within an internal network. In today’s world, end users have exposure in every facet of their lives with web apps (many of them cloud-based) for just about everything from social networking (e.g. Facebook, Twitter, LinkedIn) to productivity (e.g. Google, Gmail, Google Docs, Drive) to financial management (e.g. Online Banking, Mint). As a result users have experienced different site designs, user interfaces, application behavior, and very intimately the client/server relationship. Subconsciously, users have learned what’s possible and expect their intranet to have simple, intuitive user interface (UI) that follows best practices, but more importantly that performs to expectations.
I recently found a great article that discusses web app performance and how the time to deliver a page affects us neurologically, drastically playing into our ability to concentrate and perform our jobs effectively. At Intranet Connections, we maniacally focus on intuitive UI and aim for reasonable page response times. There are a few key areas that can affect performance, some of which are within our control, but many of which are impacted by the client and server hardware/software and their ability to communicate, including:
Networking is certainly outside of my wheelhouse, so I will focus on clients, servers, and ways you can optimize the product itself. I would suggest working with your network admin if you are experiencing latency issues or downtime.
An issue that we struggle with and as such some of our clients (you) struggle with frequently, is support for older browsers. I’m so grateful IE6 is long gone (*Happy Dance*)! But even today, we find ourselves supporting IE8, a browser developed from 2007 to 2009, one for which Microsoft has even announced it will drop support. Some customers have legacy applications that only work in older browser versions, or there are policies in place that prevent upgrading. As we offload more processing to the client to deliver rich user experiences, the browser version and JS engine speed has a big influence on performance perception. The following graphic illustrates how slow IE8 is (measured in 2010). One quick way to make a significant impact to your intranet performance is to update your client browsers and make use of features like compatibility mode for internal legacy applications.
Many of our customers have deployed Intranet Connections in virtual environments, which makes it easier to provision more resources for your server. If you’re not running on a 64-bit server, at least on Windows Server 2008 and IIS 7, upgrading will give you a major boost in performance. Ensure that you have adequate RAM to service the processes running on your server, and to be able to handle times of heightened activity. With our upcoming Super Search release, the server requirements for Intranet Connections will increase to leverage the powerful and cutting edge Elastic Search.
There are other factors that could help. Do you have SQL running on the same machine? Do you have other applications, software or role services on the intranet server? Provisioning a dedicated server just for your intranet is wise, as sharing resources on the server for other applications, services and software will most definitely slow it down and cause complications.
Beyond hardware and web server versions, there are a number of things you can look at tuning in IIS, CF/Railo and SQL Server:
Certainly the code, architecture and framework of Intranet Connections is where we have the most influence in helping to improve the performance of your intranet with coding patterns, effective data caching, minimal trips to the database layer, optimized queries, lean responses and so on. With Super Search, we’ve introduced ColdBox, a modern MVC framework for our Railo development, which packs many powerful features such as MVC architecture and dependency injection, allowing us to write more loosely coupled code, improving testability, re-usability and overall intranet performance.
In addition, you’ll find features and best practices within Intranet Connections to help you keep your intranet fresh and performing optimally:
Intranets have evolved from static pages and simple communication tools to in-depth enterprise utilities, complex workflows and powerful applications. I hope this post has given some insight into ways in which you can tune your intranet to run more efficiently. Here are some tools you can use to help identify the source of your intranet performance issues: