What’s New With Kernl – April 2019

Lots of great stuff came down the pipeline this month at Kernl, so lets dive in!

Features / Bugs / Improvements

  • Share Load Tests – You can now share your load tests publicly! Just click the “share” button that shows up after your load test is completed.
  • Analytics Widget – If you scroll down past the list of plugin/theme versions in the product detail view you’ll now see a widget with analytics data (for Kernl Analytics subscribers).
  • Load Testing Line Graph Performance – For large load testing data sets the line graph performance has been improved by disabling some of the flashier features of Chart.js
  • Analytics page now attempts to show the analytics for the first product in your product list upon entry.
  • NODE_ENV was not set to “production” on our app servers. It is now.
  • The transition to a fully managed load balancer is now complete.

Blog Posts

Thats it for this month!

Introducing Shareable WordPress Load Test Results

For quite awhile now Kernl has had the ability to throw some serious load at your WordPress site, but never a great way to share the results. Today that changes with the introduction of load test result sharing!

🎉

Why would I share my load test results?

The main use case for sharing your load test results is showing your clients that their new WordPress site can handle the traffic load that they expect. For someone like a YouTube or Twitter celebrity this can be a very real problem. Larger organizations also would enjoy this peace of mind.

How do I get started?

Easy! Just click the share button next to the load test that you want to share. You’ll be presented with your sharing URL that can be copy and pasted into Facebook, Twitter, Slack, or Email!

Can I see some examples?

Yes!

As always, feel free to reach out to Jack if you have any questions!

What’s New With Kernl – March 2019

March was a great month for Kernl! We did some blogging, a bunch of infrastructure work, and a little bit of unplanned work due to API deprecation at BitBucket.

Features & Updates

  • Resource Starvation (Load Testing) – We’ve decreased the number of users per machine that Kernl WordPress Load Testing uses. This helps prevent resource starvation on the load generation servers.
  • Pre-Configured Load Tests – Kernl now has 4 different pre-configured load tests to make testing your site’s performance even easier!
  • BitBucket API Update – BitBucket API calls now use Oauth2 and their v2 endpoints. The v1 endpoints are going away in April.
  • Analytics – All of the features available in Kernl Analytics Agency plan have been rolled into one single plan at the same $10/month price point as the small plan. We also increased data retention to 365 days to make our comparison tool more useful.
  • Load Test Working Indicator – Load tests will now show a “working” indicator when in a state before the load test has started but after you have submitted your request to start a load test.
  • MongoDb Driver – The MongoDB driver that we use has been upgraded for better connection retry handling.
  • Updates – Kernl Analytics and Kernl WordPress Load Testing have been upgraded to Node.js 10.15.3 and have had all of their packages updated.
  • License Management Widget – The license management widget was throwing an error when no error was present. This has been resolved.

Blog Posts

Changes to Kernl Analytics

When Kernl analytics was first released we had tiered approach to pricing:

  • A ‘small’ plan with simple daily analytics and 24 hours of data retention.
  • A ‘agency’ plan with data comparison and 90 day data retention.

After looking through our usage data and analytics, we’ve decided that there will now only be a single analytics plan (at the same $10/month price point). It will have the following features:

  • Data comparison between dates. This allows you to see trends with your plugin or theme usage.
  • Data retention of 1 year. Long data retention gives you the ability to see trends that might not be obvious with shorter retention periods.

Thats it! If you have questions reach out to jack@kernl.us

What’s New With Kernl – February 2019

February was a pretty busy month for Kernl! We had a lot of great tweaks to load testing, a few customer feature improvements, and some infrastructure work. Lets get started!

Features & Bugs

  • Multi-Region Load Tests – You can now select multiple regions for your WordPress load tests! Instead of having all traffic come from a single region you can have it evenly distributed across all the available regions. This is useful for testing if you have a global audience.
  • Load Testing Enters General Availability – Kernl’s WordPress load testing is now available for all customers.
  • Delete Load Tests – You are now able to delete your load tests.
  • License Max Version Bug – A customer brought to our attention that the “max_version” field behavior wasn’t quite right. This has been resolved.
  • Customer Card Expiration Cron Job Bug – We recently discovered that the cron job that checks to see if a customer has paid their invoice was broken. This was going on for about 5 months, so some of you may have received you Kernl subscription for free during that time period. 😉
  • Multiple License Domains – If you use our license management system and restrict via domains, you can now enter multiple domains on a per-license basis. This is useful if you want to use the same license for local, staging, and production.
  • License Management UI Updates – We’ve simplified the list view in license management by removing some columns that were cluttering the screen. We’ve also lined up the action buttons better and will now notify you in the plugin/theme detail pages if you have license management enabled but no licenses associated with your product.

Infrastructure

  • The Kernl Analytics server was re-sized to be smaller. It was way over allocated.
  • Load testing was moved to a Kernl sub-domain. Prior to this it had a top-level domain.
  • Load testing servers that don’t come up after 3 minutes are removed from the load testing pool.
  • Session handling (for OAuth) has been moved to cookies. Prior to this we stored sessions in Redis.
  • We have removed our dependency on the ‘Q’ promise package on the Node.js app servers.

Blog Posts

Thats it for this month!

Introducing WordPress Load Testing

In November 2018 Kernl launched the closed beta of our new WordPress load testing service. After a lot of changes based on the feedback we received we’re finally bringing WordPress Load Testing out of beta and into general availability.

Why Load Test?

There are a lot of different reasons to load test.

  • Infrastructure and Hosting – Kernl WordPress load testing gives you confidence that you are making the right decisions with your infrastructure and hosting. Looking to change hosts but aren’t sure how big or expensive of a plan you need? Run a load test.
  • Performance Testing – Load testing gives you confidence that the SQL query you just wrote isn’t going to collapse your website under load.
  • Confidence with your clients – Load testing lets you tell your clients with confidence that their new website can handle 100,000 visitors a day without any degradation in response time.
WordPress Load Testing graph
Load Test of Kernl Blog (horizontally scaled)

How Does It Work?

Kernl’s WordPress Load Testing solution makes load testing your WordPress site a breeze. You only need verify your ownership of the site with an easy to use WordPress plugin and then start testing. No coding or infrastructure management needed.

Start a load test in 1 minute

How Much Does it Cost?

Kernl’s WordPress Load Testing is included with your Kernl subscription. Usage per plan is as follows:

Plan TypeLoad TestsMax DurationMachine HoursRetention
Old Plans215 min55 days
Solo1060 min530 days
Agency30120 min3090 days
Enterprise &
Above
100300 min100365 days

If your needs don’t fit neatly into one of these categories feel free to reach out. We’d be happy to create a custom plan to suit your needs.

Sign Up Now

To get started with easy WordPress load testing, sign up for Kernl .

What’s New With Kernl – November 2018

It has been a busy few months for Kernl. Lots of great work has gone into the WordPress load testing feature work as well as a few structural changes to increase reliability.

  • Cache moved to Redis – For as long as Kernl has existed our cache backend was powered by Memcached. We have now finished migrating to Redis hosted at Compose.io.
  • AngularJS Upgrade to 1.7.5 – Fairly straight-forward upgrade to Angular 1.7.5. We wanted to take advantage of performance improvements and few bug fixes.
  • WordPress Load Testing – Over the past few months we’ve been cooking up something new. Imagine if you could easily test performance changes to you or your client’s WordPress installation? Or be able to tell your client with confidence how many customers at a time their site can support (and what their experience will be like!). What if you could do all this without writing a single line of code or spinning up your own testing infrastructure? We’re ready to start beta testing so send an email to jack@kernl.us if you would like to be a part of it.

Introducing The Kernl Analytics Agency Plan

Today we launched the next iteration of Kernl Analytics. The agency plan has been long in the making and we hope that you enjoy the new insights that you can extract with it.

Features

The Kernl Analytics agency plan is very similar to the “small” plan with two key differences:

  • Increased Data Retention – When the agency plan is selected, Kernl will hold on to your analytics data for 90 days (instead of the small plan’s single day). This also means that you can select a day in the past and see your analytics for it.
  • Compare Dates – With the agency plan you can select two dates and compare their data against each other. This is extremely useful if you would like to see adoption curves for WordPress versions, PHP versions, and installed versions of your plugin/theme. It allows you to make smart business decisions based on real data.

The Kernl Analytics agency plan is now available to all Kernl customers. The fee is $30/month on top of your existing Kernl plan. Reach out to jack@kernl.us if you have any questions!

August 14 2018 Outage Post-Mortem

Below is a post-mortem analysis of Kernl’s August 14 2018 outage. It details what happened, why it happened, and how we can improve things so that this doesn’t happen again in the future.

What?

At 9:29PM EDT alerts were triggered saying that Kernl was down. Initial investigation showed that the marketing site was still up and that some (but not all) update requests were still going through. Upon further investigation, it was found that Kernl’s connection to MongoDB had stopped working.

In most situations the DB connection dropping would have caused only a momentary blip while we failed over to our secondary, but in this case that wasn’t possible.

Why?

Further investigation revealed that our Mongo provider (Compose.io) was experiencing an outage in some of their Digital Ocean environments. Unfortunately this outage effected not only our primary Mongo host but also our backup secondary host. Due to the nature of the outage automatic failover for Mongo wasn’t a possibility.

Actions Taken

  • Determined the source of the downtime.
  • Contacted Compose.io support to resolve the issue.
  • After not hearing back from support for 30 minutes, work was started on an alternate plan for bringing Kernl back up.
  • After 45 minutes of no response from Compose.io support the alternate plan was enacted.
    • The alternate plan was to restore Kernl’s Mongo cluster into a different data center using the daily backup. The only downside was that that backup was 6 hours old, which means there is a possibility that customers will need to re-build or re-upload some plugin and theme versions.
  • Cache lifetime for all Kernl endpoints was doubled. This was done because the new data center was outside of Digital Ocean NYC3. The increased cache lifetime helps combat the increased latency.
  • Kernl’s downtime ended at roughly 11:00PM. The Compose.io incident wasn’t resolved until several hours after this so we feel that the decision to restore from a backup was the right one.

What’s Next?

Compose.io has been our Mongo provider for years now and we’ve never experienced any significant downtime. That being said, they don’t actually support DigitalOcean anymore and plan to kill their support for it at sometime in the future.

Our next steps are to evaluate how Kernl performs with the database in another data center. If things look good, we will likely move Kernl’s Mongo instances to the new data center permanently where they can be better supported by Compose. It is our suspicion that if we had been in one of their more popular data centers that we would have received help faster.

Once again, apologies for the downtime and we’ll continue to work hard so that it doesn’t happen again!

What’s New With Kernl – August 2018

Happy (almost) August everyone! This month with Kernl was focused on fixing some technical debt and adding a few features surrounding analytics.

Features & Bug Fixes

  • Analytics Top Level Menu – Kernl Analytics now has a top-level menu item. Prior to this change you had to enter a plugin/theme page before you could access it.
  • Analytics Product & Date Selector – Coupled with the analytics top-level menu, you can now select which product you want to see analytics for directly in the page. You can also select the date if you have the “agency” plan or above.
  • Session Store Moved to Memcached – For most of Kernl’s life sessions have been stored in Mongo. Recently we moved to storing sessions in Memcached.
  • GitLab Integration Bug Fix – The GitLab integration was broken for a few days after GitLab disabled their v3 API. This has been resolved.
  • The .kernlignore file had a few bugs related to processing it. These have been resolved.
  • Along with the session storage change we cleaned up a few collections in Mongo.
  • Node.js was upgraded to 8.11.3.