{"id":50145,"date":"2018-09-06T10:50:00","date_gmt":"2018-09-06T15:50:00","guid":{"rendered":"https:\/\/blog.cpanel.com\/?p=50145"},"modified":"2018-09-06T10:50:00","modified_gmt":"2018-09-06T15:50:00","slug":"a-true-story-of-a-mission-impossible","status":"publish","type":"post","link":"https:\/\/devel.www.cpanel.net\/blog\/cpeople\/a-true-story-of-a-mission-impossible\/","title":{"rendered":"A true story of a mission impossible."},"content":{"rendered":"
This is a guest post from Tim Hollis, VP of Operations at JetApps! JetApps has returned this year to exhibit at the cPanel Conference, October 1st – 3rd in Houston, Texas. If you haven’t already, take a look at the agenda<\/a>, book your room<\/a>\u00a0(discounted rates apply until September 9th!), and get registered<\/a>!\u00a0<\/em><\/p>\n As a software company, nothing makes us happier here at JetApps than hearing stories of how JetBackup has significantly improved the backup and restore process for hosting providers. \u00a0Please enjoy the following true story of a JetBackup user who found a way to reduce his backup window by 50%!<\/span><\/p>\n We were on a mission to find a way to run daily backups of our entire server farm of 150 servers on to 1 single backup destination server. \u00a0Our ultimate goal was to complete this daunting task in a backup window of 7 hours or less between the time of 11pm to 6am to avoid disturbing our clients during business hours. \u00a0Before continuing this true story of a \u201cMission Impossible\u201d task that would eventually become reality, let\u2019s discuss the technical specs of our configuration: <\/span><\/p>\n <\/a><\/p>\n <\/a><\/p>\n Our first backup job run time was not pretty, to say the least. \u00a0But without incremental kicking in to reduce the amount of data to backup up, it is hard to tell exactly where we stand. <\/span><\/p>\n Conclusion:<\/b> We need 1 full incremental backup to better understand how long each server takes to run backups.<\/span><\/p>\n <\/a><\/p>\n Great improvement from the first run but it is nowhere near our goal of 7 hours or less to fit inside our backup job window. \u00a0<\/span><\/p>\n Conclusion:<\/b> There is a major IO & network bottleneck<\/b>. \u00a0Having all the servers run at the same time is clearly slowing down the backup process. \u00a0We decide to use JetBackup 3.1\u2019s push notification API call to send a remote command to a log server specifying the start and end times of each backup job on the server. \u00a0After waiting another 24 hours to collect the data, we did some calculations and decided we need to expand our backup window to 12 hours from 10pm to 10am.<\/span> \u00a0This allowed us to schedule 20 server connections to our destination server at a time, reducing the IO stress from our destination server.<\/span><\/p>\n <\/a><\/p>\n Made quite a bit of progress reducing the total backup time per server. <\/span>But we still have work to do!<\/span><\/p>\n Conclusion:<\/b> We need a closer look to see what exactly is happening in real time. \u00a0After running \u201ctop\u201d and \u201cps\u201d commands throughout the night we found some interesting results:<\/span><\/p>\n It was time to harness the power of JetBackup 3.2! The need to use \u201cfind\u201d and \u201ccp\u201d commands was completely removed as it now creates everything \u201con the fly\u201d using hardlinks. \u00a0In addition, this newer version of JetBackup improved the general speed using open sockets saving roughly half a second per account. That might not sound like much but when you are backing up 15,000 cPanel accounts it shaved 2 hours off our backup time! <\/span><\/p>\n <\/a><\/p>\n We reduced another hour per server just by optimizing JetBackup ! <\/span>Good results, but not good enough, we can do better. <\/span><\/p>\n Conclusion:<\/b> We need to solve the IO disk speed limits. \u00a0So it was back to the drawing board to reconfigure our backup destination configuration. \u00a0We took an old Dell R510 server and filled it up with the following:<\/span><\/p>\n <\/a><\/p>\n AMAZING! 150 servers, 15,000+ cPanel accounts backed up in 0.5 – 2.5 hours per server!<\/span> Conclusion:<\/b> I had to see this with my own eyes to believe it. \u00a0Sure enough, when I logged into the destination server the next night the writing speed was around 300MB per second! By recalculating the run time of each backup job and optimizing the schedule for each server I should be able to shave off another 10 to 15 minutes. \u00a0Integrating JetBackup 3.3\u2019s incremental multi-scheduling feature should eliminate redundant backups from occurring and continue to reduce the total run time. I see my backup window per server being reduced to under 2 hours in the very near future! <\/span><\/p>\n We hope you enjoyed this true story from a hosting provider using JetBackup. The founder of JetBackup, Eli Alum<\/a>, will be presenting in Houston, Texas October 2nd at the cPanel conference<\/a> so don\u2019t miss it! JetApps is also a sponsor of the cPanel conference for the 2nd year in a row. We met a lot of great cPanel partners at our booth last year and came away with some of our largest JetApps Partners. Please come by and visit us at our booth. We would love to hear how you currently configure your backups and provide you with some tips on how to make them even faster and more efficient!<\/p>\n","protected":false},"excerpt":{"rendered":" This is a guest post from Tim Hollis, VP of Operations at JetApps! JetApps has returned this year to exhibit at the cPanel Conference, October 1st – 3rd in Houston, Texas. If you haven’t already, take a look at the agenda, book your room\u00a0(discounted rates apply until September 9th!), and get registered!\u00a0 As a software […]<\/p>\n","protected":false},"author":77,"featured_media":65013,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[989,73,145],"tags":[],"class_list":["post-50145","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cpconf","category-cpeople","category-special-guests"],"acf":[],"yoast_head":"\n
\nOn A Mission…<\/h3>\n
1st Run: Here We Go!<\/h3>\n
2nd Run: First Incremental Backup<\/h3>\n
3rd Run: Improved Scheduling and Hours<\/h3>\n
\n
4th Run: JetBackup 3.2 Pays Off!<\/h3>\n
\n
5th Run: SSD Cache & FreeNAS<\/h3>\n
\n<\/span>SSD write cache made a HUGE Difference.<\/b><\/p>\n