Performance Bottleneck : High CPU Utilization vs High CPU Saturation

This article is more about a performance scenario that I found myself in, a few days ago, and my thought process about the same. It is about a situation when a Performance Engineer has to weigh the impact of CPU Saturation and not just CPU Utilization. Scenario: I was testing the Horizontal Scaling efficiency of an AWS EC2 instance, and at some points I was seeing low CPU utilization but high CPU Saturation (higher load averages). Should I be spinning up new AWS instance because the CPU is saturated, although I have low CPU utilization (CPU % usage)? ...

May 29, 2019 · 3 min · Akshay Deshpande

Weekly Bullet #9 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: Performance Check - List of commands to check Utilization, Saturation and Errors(USE method) at different components in a system. - “USE Method: Linux Performance Checklist” Performance wise - “Why is it faster to process a sorted array than an unsorted array?” Python has a long list of cool external libraries. But on the contrary, here are a list of - “Python built-ins worth learning.” I am a big Check-list person! Recently I came across DevCheckList that lets create, share or collaborate on a checklist. Here is an ultra black terminal I have been using for a couple of weeks now! - “Hyper” Non-Technical: If you love playing Chess, here are a bunch of - “Very Aggressive Openings.” More often than not, full-time Remote work options look great. But just like everything, they have pros and cons. Here are learning from - “A Decade of Remote Work” [Geeky - Highly Recommended] This blew my mind! Animation of - “507 mechanical movements” ! [ I did study Mechanical Engineering for 4years! :) ] An extract from a book I am reading : “In the beginning of your career, you spend time to earn money. Once you hit your stride in any capacity, you should spend money to earn time, as the latter is nonrenewable.” ...

May 28, 2019 · 2 min · Akshay Deshpande

Weekly Bullet #8 - Summary for the week

Hi All! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: Performance Engineering and Tuning is equally important on Client side as it is on server side. Here is a free course on client performance optimization from a Google performance engineer. - “Website Performance Optimization” A list of useful resource for debugging and optimizing Client Side Performance. -“Awesome Web Performance Metrics” If you have recently moved to Python 3.X, here are a few things which you didn’t have in Python 2.x. - “Things you’re probably not using in Python 3 – but should.” Here is a great dump of information on - “System Design.” The shift in the hiring process in Software Industry is true! Here is a thoughtful article on the same. - “Senior Developers are Getting Rejected for Jobs” Highly Recommended for a healthy laugh - “Let’s deploy to production!” Non-Technical : I have recently been exploring Board Games. Here is a great compilation for - “The Best 2-Player Board Games.” I have been Tracking my expenses for 3 years now, and I review them by every month end. I use AndroMoney for tracking. It has both WebClient and AndroidApp. There are 100 other apps out there, but the point is, once you know where your money is going, you can control it. I came across Kevin Kelly in one of the podcasts. He is movie buff and has a list of great movie recommendations. - “TrueFilm”. An extract from the book that I am reading: “It’s very interesting to observe who the top competitors pick out when they’re five rounds into the sparring sessions and they’re completely gassed. The ones who are on the steepest growth curve look for the hardest guy there—the one who might beat them up—while others look for someone they can take a break on.” ...

May 18, 2019 · 2 min · Akshay Deshpande

Weekly Bullet #7 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: “Intermediate Vim “- has daily usable and highly productive Vim commands listed. You have heard about git a lot, but don’t know where to get started ? - “Learn how to use Git (from basics)” . This would take your 30minutes. “Introduction to Computation and Programming using Python.” - Course has been taken by a million people. You will learn to think computationally and write programs to tackle useful problems. The course is free to try. Also, here is “Intro video” about the course. Here is how Python is used at Netflix. - “Python at Netflix.” Want to do some web-scrapping with Python and need some ideas about the same. - Check the comments! Non-Technical : Have you ever had an idea of getting your personal website, but then didn’t spend enough time to make it happen ? Here is another reason to get back to that idea. - “You should have a personal website.” A study on how much money professionals make across different fields. Study link. Results link. Note: Make sure to use filters for the results. Practical career advice - “Career advice I wish I’d been given when I was young.” A view on current state of Internet: ...

May 5, 2019 · 2 min · Akshay Deshpande

Shell Scripting for Performance Engineers and others - [Part 1]

Performance Engineers go through a set of manual tasks time and again. Be it for creating data for the load test, triggering of the test in a particular sequence / at a particular time or post processing of data collected after the test. The general rule of thumb is - anything that takes more than 10 minutes and has to be done more than two times a week has to be automated. That is a minimum of 1040 minutes saved per year - 2 working days / year per person. To achieve automation, although the world has come to Python & Scala for sophisticated solutions, quick and dirty Shell Scripts will never go out of style. I would not go for sophisticated / complex solutions, if the same can be attained in less than 20-lines of a quick Shell Script. ...

April 30, 2019 · 4 min · Akshay Deshpande

Weekly Bullet #6 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: Time spent on Garbage collection in Java plays a very important role in fine tuning the Performance of an application. Here is a great talk on - “Understanding Java Garbage Collection and What You Can Do about It.” Cheat sheet for Sorting Algorithms - It also explains each algorithm in details on how they work and what is their Big O cost. - Cheat Sheet Link. ...

April 27, 2019 · 2 min · Akshay Deshpande

Weekly Bullet #5 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: Performance tuning Client side is equally as important as Server side. Here is a great article on – “How to Identify expensive functions using the Chrome DevTools CPU Profiler.” Majority of us never get beyond surface-level understanding of how git works. Here are a few – “Tips for a disciplined git workflow.” ...

April 21, 2019 · 2 min · Akshay Deshpande

Weekly Bullet #4 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: In Linux, perf command can give you a lot of power for instrumenting the system if you know how to use it. Here is a “not so short” description on how to use it. Note: A post about perf commands is in the pipeline & I will post it shortly ! – “Perf command in linux.” Bash is more powerful than Black Magic (if that exists!). Here is a 3 part series on some powerful “Bash one-liners.” Developer surveys usually give an insight on what most people are working on / the next Big Thing! Here are the results of “Stackoverflow Developer Survey Results 2019.” Top documents and papers on Hacker News in 2019. Updated weekly. – “Hacker News Papers.” If you have a student email, take advantage of the Github student pack and others. “Github educational free pack.” Non-Technical : I greatly enjoyed the podcast. – “How Seth Godin Manages His Life – Rules.” Note : It is a 123minute long podcast. I consumed it at 2x play speed during an overnight journey. One of the take aways for me – “Most of the people keep playing with the cards they have got instead of moving to a different table with different cards. Don’t get stuck. Move to a different table.” Have you tried Stoic philosophy ? If not, I highly recommend it for general life wisdom. If a Stoic philosophical book like “Letters from a Stoic” is too much for you, then there is an app – “The Stoic” which will fill you with one Stoic quote a day! So there was the first image of Blackhole this week. This explains the efforts involved in making Blackhole image a reality. – Youtube link. An amazing extract from a book that hit me: “When you are very competitive, you get good at the thing you are competing with people on. But it comes at the expense of losing out on many other things. It is important to understand and accept the consequences.” ...

April 13, 2019 · 2 min · Akshay Deshpande

Weekly Bullet #3 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical: If you had only 60 secs to check the performance of a linux system, here would be a check list to find the bottlenecks ! “Linux Performance Analysis in 60,000 Milliseconds” We all know the importance of cutting and parsing only required parts of an output in programming. Awk on a whole can do much more than that. Here is - “Why you should learn just a little Awk” I found this resource on github which is suitable for almost every programmer, System and Network administrators, DevOps, Pentesters and Security Researchers. - “The Book of Secret Knowledge” On a lighter note - Remember the first time you opened a Vim editor and didn’t know how to exit ? Here is a funny milestone on same ! “Stack Overflow ~ Helping One Million Developers Exit Vim” Non-Technical : Learning never ends. So it is good to know the best ways of learning. Here is a discussion on the same. - “Ask HN: What are your best learning methods/hacks/tips? " Learning is important true, but we forget what we learn if there is no repetition. I use Anki for spaced repetition. Anki works wonders. Reviewing notes multiple times based on the ones you mark Easy, Medium or Difficult. - “Anki” Quote I’m pondering : “I don’t give explanations anymore, and I’ll catch myself when I start giving explanations like ‘Oh, I’m sorry, I can’t make it. I have a doctor’s appointment. I’m really sick. I broke my leg over the weekend’ or something. I just say, ‘I can’t do it. I hope everything is well.’ " ...

April 5, 2019 · 2 min · Akshay Deshpande

Weekly Bullet #2 - Summary for the week

Hi All ! Here is the weekly summary of Technical / Non-Technical topics that I found very resourceful. Technical : Programming notes on almost every language. I have learnt half of the Python I know from here. “Programming Notes for Professionals books” The reason I love Linux is, there are tools available for peeking in to the performance of every component. Below cheat sheet lists the set of commands to look in to different components. ...

March 28, 2019 · 2 min · Akshay Deshpande