This blog promotes knowledge sharing through experience and collaboration. For more product information, visit our WebSphere Commerce CSE page. For easier navigation, utilize the Categories to find posts that match your interest.
Common issues during Peak Part 2
This is the second part of my previous blog where we are highlighting the common issues what we see during the holiday Peak season and the information you should review to help prevent these issues.
There are a few areas around Search where you could run into issues during peak if you have not tested your system enough. With the increased volume of customers on your site during the Peak season you could experience issues with your search queries page load times. If this happens you might notice that the stores performance when trying to load a category page or search result page time is increased. To look into what could be causing this performance issue you will need to look into both the commerce server and the solr server to determine where the issue is stemming from.
To help understand how to debug increased page load times you should review the following blog
Another common problem around Search during Peak is poorly tuned preprocess and buildindex jobs. The faster you are able to process data the faster your customers will be able to access it. To make sure your site is in the best possible position to handle the jobs you should review the following blogs
Promotions during Peak season can help boost sales and keep customers coming back to your site but they also require testing and tuning. If you are planning on using Unique promotion code generation you should remember that the generation and import of these codes can affect performance. Generating, or importing millions of unique promotion codes when you are working on approved content can result in a reduction in performance.
You can reduce the effect on performance when you generate or import codes by using batch updates to insert the codes into the database.
When you are designing promotions for your site, consider how your promotions are being evaluated. How you design your promotions and configure your promotion evaluation process can affect your site performance during promotion evaluation. When you are creating promotions, consider the promotion type, the promotion conditions, the size of orders that are evaluated, and the agenda builder that is used for promotion evaluation.
For more information on Promotion performance you can review the following information here.
Throttling the site
When a site becomes overwhelmed during Peak throttling can be used to help bring some stability to a site. Throttling works by putting a cap on the number of shoppers that can reach the servers. The concept is very simple: If the site can handle only 50% of the load that it's receiving with the alternative being it will fail or hang then it is better to handle the 50% than to fail for everybody. For a site experiencing performance problems, such as 100% CPU, or when a 3rd party service is overloaded, throttling can help restore stability.
Throttling is used to offer temporary relief. A complete tuning exercise might be needed to allow the site to handle the complete load on a permanent basis. Also, before restricting site traffic, you should consider other options such as stopping certain marketing and promotional activity.
Preventing database issues ahead of peak is difficult task as its hard to determine where an issue could arise. If you are using DB2 then I would again recommend using the Health Center tools to help review and monitor the health of your DB. Using the tool you could spot contention issues or locking issues ahead of the peak season and prevent a bigger issue. Should an issue occur you would also have the benefit of the reports to help both your DBA and IBM support in debugging the issue. Alongside using the health center tools you should refer to the following blog on the other monitoring tools your DBA can use to manage the health of the DB.
When facing a locking issue with DB2 it is often hard to find the actual data that the application is trying to access but if you use db2dart as explained in this blog you can find the lock name and then navigate to the query faster.