In an effort to create the most compelling B2B online ordering experiences possible, our customers often ask us to help design and configure e-commerce sites and workflows to meet specific end-user requirements. In late 2017, Four51's Product, Operations, QA, Infrastructure, Database and Advanced Technical teams met to determine best-practices for high-traffic sites. The meeting was prompted by the launch of a Storefront 2.0 rewards site for a healthcare company designed to simultaneously drive 3,000+ users to a single product. (The site contained a few dozen products, but all products were free and one in particular was considered especially desirable.) While monitoring the site launch, the positive changes made to Four51's infrastructure during 2017 were apparent; the web server and SQL server CPU and memory were sufficient to handle the site traffic. In addition, once errors appeared after about 15 minutes, Four51 shut off non-critical processes to make all supporting servers highly available. However, the site did suffer from performance issues -- localized to that particular site -- caused by several thousand users accessing the same database objects. Blocking occurs when a process holds a lock on one or more tables, and other processes that need a lock “stand in line.” Four51 Storefront supports complex ordering logic, and therefore places a premium on transactional integrity relative to high concurrency. In other words, blocking is not necessarily a problem, as it is necessary for data consistency. The number of blocked processes -- primarily check-out related processes -- peaked about 28 minutes after launch and returned to zero five minutes later. Attempts to react to the SQL server issues were not possible during the time-frame the blocks occurred. This would have required platform-level changes. Based on monitoring this site in the first hour post-launch, Four51 has determined that the Storefront application is not architected for programs that encourage several thousand users to simultaneously order the same relatively small set of products. We will explore with you and your client options for creating an experience that accomplishes the goals of the program. Four51's primary recommendation is this: please involve our technical specialists early when planning high-traffic ordering programs.
|