There are few things as frustrating as working on an application that is not responsive. Since we want you to have the best experience possible, we have put together this FAQ to help you get to the bottom of slow PPO response.
Before we get into the details of what may be impacting on performance, let us look at what performance you should be experiencing. Generally speaking any page should load within less than 3 seconds, e.g. your Home Page, a project list, etc. Certain pages, such as the Administration page and the Report Criteria page (which do not contain significant data) should load in under a second. Reports / dashboards, on the other hand, can run for several minutes depending on the amount of data being queried and complexity. Uploading or downloading of documents can also take a substantial amount of time depending on the size of the document and the speed of your connection.
So what are some of the things that influence your perceived performance of PPO? The following is not a comprehensive list but should give you a starting point:
1. Your connection speed to the internet / your ISP;
2. The connection speed between your ISP and our servers;
3. The amount of data that is stored on your instance;
4. The amount and complexity of data that you are retrieving;
5. There is a problem in the data centre where our servers are hosted or with a PPO server.
Let us look at each of these in more detail:
1. Your connection speed to the internet
This is probably the most common reason why users may experience PPO as being slow and unfortunately it is the one over which we have the least amount of control. Common reasons why your connection may be slow include:
1.a) You are connecting to the internet through a mobile connection with limited connectivity or low bandwidth e.g. Edge.
Resolution: Unfortunately this is a fairly common occurrence (especially in Africa) and is unfortunately beyond our control. If this happens often, you may want to consider switching to an alternative mobile service provider which has better coverage in your area.
1.b) You are connecting through a corporate network with low internet bandwidth
Resolution: PPO’s bandwidth utilisation is very modest. When clients have problems it is usually as a result of the fact that PPO users are competing with other internet users for bandwidth (i.e. against YouTube, news sites, etc). The responsiveness of PPO is therefore very much a function of how internet traffic is managed within the client organisation. Today, most routers allow HTTP traffic to be prioritised on the basis of the destination URL. Alternatively, proxy servers or other bandwidth management devices can be used to filter and prioritise traffic. Talk to your IT department. We would be happy to provide them with additional information regarding PPO’s bandwidth requirements.
2. The connection speed between your ISP and our servers
The internet is a complex and messy place. When you refresh a page on PPO your request is being routed through dozens of servers. If any of those links (or hops) are slow, you will feel the impact. From our side we monitor our PPO servers from various locations in the world to help identify if there is a problem and will post on Twitter if there is a general problem with one of the major network routes.
Diagnosing: Although other common web sites may be performing well, the specific path to PPO may be slow. First check our Incident page (https://www.go2ppo.com/incidents/) which will show you if we are aware of any incidents. We specifically post to the Twitter feed that is shown on the right hand side of the page. You can also access the Twitter feed directly by going to https://twitter.com/ppodevops).
One easy way to see if our site is available is to go to a site like http://www.isitdownrightnow.com and typing in the ppolive.com domain. Since we do not allow traffic to the root of our domain, it will return with a 404 error (access denied) as shown in the screenshot below:
What is however important is the Response Time that is shown (which should be similar to that shown in the screenshot). If a different error is shown or the response time is significantly slower, it could mean a problem with Amazon Web Services or our servers.
Although we do not allow ICMP traffic to our servers (which would allow you to do a PING test), you can also run a TRACERT to determine where the bottleneck is. From the command prompt (on Windows hit the Windows key and R), type tracert www.ppolive.com and press ENTER.
You should see something similar to the image below:
What tracert does is show the time that it took to each of the servers/devices sitting between you and the PPO server. In the above screenshot concentrate on the columns containing the numbers ending with ms (milliseconds) and ignore lines with asterisks in them (these are devices that do not respond to pings). If the requests are slow or times out near the start of the list it likely indicates a problem with your ISP. If it is slow or times out in the middle of the list, it is likely a general problem on the internet. The time outs at the end of the list is normal because we do not allow PINGS to our servers.
Resolution: If we have not posted anything on Twitter, make screen shots of the tracert tests and send it to the PPO Support Desk.
3. The amount and complexity of data that is stored on your instance
PPO has been designed to handle large amounts of data but under certain circumstances it can start impacting on the performance.
Diagnosing and resolving:
3.a) If only certain pages are slow, especially list pages and there are no calculated fields on the entity, check how many records are being retrieved (the number of items in the list is shown towards the top right-hand corner of the list header). If this is more than 100 000 items, this could be impacting performance. On the project view page performance could also be impacted if there are one or more lists with a large number of items.
Resolving: The best way to avoid performance impacts from large amounts of data is to use filters appropriately so that only the necessary data is retrieved. On lists pages, use the criteria and set up personal filters to reduce the amount of data retrieved to only that which you are interested in. If you are the administrator of the system ensure that global and user group filters are appropriate so that users only see relevant information
3.b) If only certain pages are slow check for drop down boxes that have a large number of items in them (1000s of items). You will typically find this on list pages (in the criteria section) or on entity edit pages. Although this does not usually have a big impact on our servers, it means that a great deal of data is being transmitted to your browser. In these cases the amount of memory on your machine and its CPU power starts becoming a factor. It also exacerbates any bandwidth problems that you may have.
Resolution: If you have very large drop downs (i.e. custom lists with a large number of items in them) it is recommended that you do not use these fields as criteria on your list pages and that you use dependencies where appropriate. Ultimately though we do not recommend using very large dropdowns – consider rather using a text field (possibly with custom validation).
3.c) If only certain pages are slow, especially list pages, and the number of records being retrieved is modest (less than 10 000 items) the problem may be that you have a large number of calculated fields or very complicated calculated fields. In many cases very complex calculated fields have been implemented on the Projects entity which look at all the other data on PPO, e.g. Costs, Tasks, Risks, etc. in order to do project prioritisation or project health calculations. These calculations can be very processor intensive. It is possible that when the fields were initially implemented the amount of data in the system was small and the performance issue was not noticed. However as time goes by and more and more data is loaded, PPO becomes slower and slower.
Resolution: In many cases this can be addressed by optimising the way in which the calculations are done or by implementing custom indexes. Please log a support call and out technical team will assist you.
4. Problems in our data centres or with a PPO server
This is usually the most unlikely of all the reasons that PPO is slow since we do extensive monitoring of our infrastructure. It would also likely impact all users and we would therefore quickly become aware of the problem.
If you have ruled out all the other possibilities described above and you believe it is a problem with the PPO server, please first check the Twitter site to ensure that we have not already identified the problem. If you are still convinced it is a problem with PPO then please feel free to contact our Support Desk.
If you are unable to determine why your PPO instance is slow please contact our Support Desk and they will be glad to assist. In order to pinpoint the problem, they may ask you a number of questions such as:
- What is your performance like when browsing other sites, e.g. www.cnn.com or www.fin24.com?
- Has PPO suddenly become slow or has it been getting progressively slower over time?
- Are there specific pages that are slow or is it all pages. If it is specific pages that are slow, which pages? How long exactly does the page take to load?
- The support team may also ask you to provide screenshots from the tracert tests described earlier.
The more information you provide, the easier it will be for the technical team to assist you.