“Salesforce is Slow” – what can you do?


20080730_server-crashYou cringe when you hear it – “Salesforce is slow!” or “Salesforce is broken!”.  Those two phrases increase stress levels and can quickly catch fire in your organization and negatively impact user adoption and confidence.

In the YEARS I have been working with Salesforce, I can count on two hands the total number of times that the service has been actually “DOWN”.  Most of the time, it’s internet routing issues, DNS, and a whole slew of other factors, some of which you can help mitigate if you take a look at the connection between the end user’s workstation and the Salesforce server pods.

The areas YOU can have an effect on are split in to three areas, starting with the client workstation and moving out to the cloud:

Workstations (and mobile devices!)

Workstations are the “front lines” of your organization – computers, tablets, phones, etc.  This is where the majority of your problems are reported and where you can spend a lot of time supporting ghost issues.

Standardize your company on a single (and current!) web browser

Chrome, Internet Explorer, Firefox, Opera – whatever your organization’s preference is – make a decision and stick with it.  You can read the official “Supported Browsers” article by Salesforce to get additional information, but there are so many issues that exist because people are using outdated browsers!

https://help.salesforce.com/HTViewHelpDoc?id=getstart_browser_overview.htm&language=en_US

Ensure that your workstations and devices have the latest and greatest security patches

Salesforce.com has a very low risk of malicious code or other in-sundry hacking things being done, but patches cover more than just security issues.  Network resolution, memory usage, all kinds of other things are regularly addressed through service packs and periodic updates.

Don’t cheap out on memory!

Memory is relatively cheap now – when purchasing a new workstation, 4gb or 8gb is now the MINIMUM you really need in a workstation, no longer is it only reserved for developers or engineers!  Low memory can manifest itself in a general computer or device slowdown and even to slowed rendering of web pages.

Servers

DNS

The one major thing that your server infrastructure (or if you’re a small biz or home worker, your router itself) provides for you is DNS resolution.  DNS stands for “Domain Name Resolution” and is the sole player that sends your request for “login.salesforce.com” to an actual server on the Internet.  Without DNS, you cannot reference ANYTHING on the internet by name.

Part of a solid “consumption” DNS strategy is to be able to reference multiple providers across multiple carriers.  Most of the time, IT departments have either just one or a few DNS servers defined that reference your ISP’s servers only.  If your ISP has issues – the broader Internet isn’t down, but you are!

There are a number of public DNS servers – most notably Google Public DNS – that you can reference along with your ISP’s DNS servers to help in the event something somewhere goes awry.

Network

Quality of Service / Traffic Prioritization

How your browser request makes it through the “series of tubes” to the Salesforce servers and back (it’s a round trip!) can be affected by a large number of factors.

In most business environments, there is an appliance that controls all traffic in or out of your network – typically called a “router” or “firewall”.  These appliances often have a feature called “Quality of Service” or “Traffic Prioritization/Shaping” that can help prioritize the transmission of packets meant for Salesforce.com over those that belong to someone’s music streaming or Youtube video.  Most of the time, you can prioritize based on destination and source IP address – which you can set to be the Salesforce pod addresses.

NOTE!  You can use QoS to control packet transmission on YOUR NETWORK ONLY.  QoS has no lasting effect as it transmits across the Internet.  Often times though, proper prioritization within your network is enough to know if it’s either how you are using your bandwidth, or if you have to upgrade your…..

Internet Speed

This is a common issue that I see when I hear that dreaded “Salesforce is slow!” comment come across.  There are two sides to your internet connection:  upstream and downstream.  When you hear an ad for Comcast / Cox / <name here> advertising “the fastest speeds around”, they are only talking about downstream – or how much bandwidth you have downloading content.  Rarely do they ever mention how fast you can UPLOAD things.  I know that sounds weird, but even while browsing, at minimum you have to use the upstream side of your connection to acknowledge the receipt of what the web server is sending you.

If someone else on your network is uploading a huge file to a vendor via FTP and taking up all of the bandwidth, you will see a MARKED slowdown in your regular browsing speed.  (you can help this – see the QoS topic above)

Failover / Multiple Internet Connections

If you have a larger organization or one that very data-intensive, you could also benefit from having multiple internet connections.  Most enterprise-grade (and even some small business grade ones!) have connection load balancing or failover built-in or available as an upgrade for a small fee.  Apart from the obvious benefit of if one connection fails completely that you can seamlessly roll over to another one, you can setup rules to ensure that certain traffic goes out over one connection and other traffic (like Salesforce!) goes out another.

You can also read this article from Salesforce that talks about some of these items and a few more:  https://developer.salesforce.com/page/Network_Best_Practices_for_Salesforce_Architects

Happy networking and questions down below!

Advertisements

3 thoughts on ““Salesforce is Slow” – what can you do?

  1. If you have a lot of customizations in Visualforce and Apex one thing I have found affective is logging performance in your Apex code into a custom object. Then I run a standard SFDC report to show that once SFDC received the request it took X milliseconds to process. I put that on a Dashboard and give it to the DevOps teams. This allows the team to focus on the issues you mention in your post (DNS Traffic, Workstation/Browser Config, Internect Conection, etc).

  2. Cory, what do I do about slow Force.com server response times, which all the online page speed tests tell me our Force.com sites (e.g., longramps.com) and actually, all Force.com sites (e.g., arsenal.mx, spotme.com, thefestusgroup.com) suffer from?

    To be clear, I’m not talking about render-blocking resources. I’m talking about TTFB.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s