Troubleshooting NetSuite Website Slowness

Hundreds, and probably thousands, of companies run their web sites on NetSuite SiteBuilder or SuiteCommerce Advanced, including major global brands.  There is no reason that your site should be slow.  This article talks about some of the potential causes of site performance issues and some tools that can be used to root them out.

Conversion slowness is caused by one of two problems:

  1. User Event scripting executing unnecessarily in the e-commerce context
  2. Overall database demand causing slow responses

NetSuite enables scripts to be excluded in the e-commerce context.  A common mistake is presuming that only the user event scripts that are enabled for processing during e-commerce will actually execute.  If an e-commerce-related script loads and saves another record, any user event scripts on the second record could run if they are not properly restricted.  This could slow the main script preventing the cart or other checkout step from returning an answer quickly.  Strongpoint automatically tracks scripts that are used by external users (such as site customers) directly or indirectly and those that are triggered by system processes.

Overall database demand triggered by actual transactions is fine.  You are making tons of money so you upgrade your NetSuite server and move on.  However, we commonly see situations in which the numbers of script executions and therefore database calls are grossly out of proportion to the number of transactions.  These are often caused by an extreme version of the problem above called 'daisy chaining'.  In a daisy chain, a user event script or scheduled script or workflow changes a record.  That change triggers further scripting which hits the database, of course, but could then trigger even more scripting.  In the worst case scenarios - the problem is circular.  In one customer, we discover 100,000 script executions per day in a company with 200 employees and less than 100 transactions per day.  

A further cause of unusual load is reprocessing of undetected errors.  Imagine a script that is designed to run every hour to calculate some value for any record either without that value or modified within the last day / hour etc.  Now imagine that a change has occurred somewhere in the system that has changed that logic or prevented the value from being written.  The change could be to a field, a related search, a list, a script, deployment context.  Well now the script runs all the time.  It never finishes.

Strongpoint script analysis tools can identify and warn of the sort of dependencies and changes that cause these problems as well as tools to trap and clear errors, monitor script execution rates and troubleshoot problems that emerge.  It isn't a magic bullet but it can be very helpful.  So helpful that many admins who have worked with Strongpoint recommend it to their new employers and in some cases refuse to accept a new job unless the company purchases Strongpoint.