Black Friday and Cyber Monday: the top 7 tips for getting your database ready

Posted in: Business Insights, Technical Track

Black Friday has been an American tradition for decades. Today, along with Cyber Monday, Black Friday is a worldwide marketing juggernaut. And retail analysts are expecting the 2017 edition to set new records.

The National Retail Federation estimates that 69% of Americans — around 164 million people — are planning to shop either online or in person during the U.S. Thanksgiving weekend. In fact, it’s anticipated that one out of every six dollars this holiday season will be spent between Thanksgiving and Cyber Monday, generating $19.7 billion in sales. Adobe forecasts total online sales this holiday season of $107.4 billion, an increase of 13.8% over 2016. And Adobe also predicts that this Cyber Monday will be the largest online shopping day in history, delivering $6.6 billion in sales (and topping last year’s figures by 16.5%).

Website outages are costly even during quiet shopping periods and databases are a crucial part of your website’s performance and impact its ability to perform. During the all-important holiday season, even a brief outage could cost thousands or even millions of dollars, depending on the size of the business.

To help your organization stay ready, our experts have compiled their Top 7 Tips for keeping your databases running smoothly:

  1. Review performance metrics from last year, forecast this year’s consumption, and then load test based on those numbers
  • Pull the trends from last year’s holiday shopping weekend. Trends should include the number of transactions/second, throughput, application and disk response time, batch requests/second, CPU, and memory utilizations
  • Forecast the current year’s load based on last year’s consumption
  • Assess whether the hardware can bear the forecasted capacity
  • Perform load testing on the servers, simulating the point-of-sale transactions
  • Adjust hardware based on the testing results
  1. Evaluate backup and failover strategy, and perform disaster recovery testing
  • Ensure your backup strategy is proper and in place. We also recommend having a redundant copy of your backup on an external storage device or in a data center
  • Ensure backups can be restored efficiently when needed
  • Perform a dry run of your backup and restore procedure
  • Perform disaster recovery (DR) testing to ensure your system runs properly on the DR server
  1. Perform server health check and configuration check
  • Perform an overall health check of your database server
  • Ensure memory, NIC cards, and hard disks are all healthy
  • Ensure power connectivity and power backups are in place
  • Perform a database configuration check: Look for common configurations, make sure memory settings are accurate, and ensure threads, parallelism, and other settings are per the hardware
  1. Test high availability solution and perform connection pooling for estimated traffic
  • The database server should be able to manage the estimated number of incoming requests during peak traffic times. Ensure that the application and the database are configured for connection pooling and that it is set to an optimal value
  • The database server should be configured for any hardware failure as well as any database failure, which means an appropriate high-availability solution should be in place. For example:
    • For SQL Server: Clustering along with mirroring, log shipping, replication, always on, etc.
    • For Oracle: RAC along with a standby database, replication, always on, etc.
  • Test existing high-availability solution
  1. Clean up and archive old data
  • Archive old data that isn’t being used. This helps reduce the time it takes to perform database maintenance activities, such as rebuilding and reorganizing indexes, and updating statistics. It also helps improve query performance
  • Archived data may simply be imported to another database, backup file, etc.
  1. Ensure all recent, ongoing, and pending issues are resolved
  • Extract and analyze the errors and issues that have occurred recently or are recurring in nature, including problems and incidents recently fixed
  • Review recent changes to your database configuration, including changes made due to a problem or incident. These may include patch updates, application updates, structural changes, added schedules, modified file parameters, and other configurable items
  1. Establish freeze dates
  • To avoid unseen risks, implement a code/configuration freeze date
  • List challenges and risks involved with any unavoidable implementations
  • Review any changes with respect to all points mentioned above

Want more detailed advice from a technical expert? Schedule a call to get the conversation started.

email

Author

Want to talk with an expert? Schedule a call with our team to get the conversation started.

About the Author

Chris Presley loves order—making him a premier Microsoft SQL Server expert. Not only has he programmed and administered SQL Server, but he has also shared his expertise and passion with budding DBAs as SQL Server instructor at Conestoga College in Kitchener, Ontario. Drawing on his strong disaster-recovery skills, he monitors production environments to swiftly detect and resolve problems before they arise. A self-described adrenaline junkie, Chris likes tackling the biggest database problems and putting out the toughest fires—and hitting the road on his motorcycle.

No comments

Leave a Reply

Your email address will not be published. Required fields are marked *