At LogicMonitor we take turns learning from each other in informal sessions. One week it may be developers talking about MySql and NoSQL; or marketing guys talk about lead generation and Adwords, etc. This time we’d arrived on the topic of programming languages, and how there is a trade off: between code speed and efficiency when using assembler or C at the expense of programmer efficiency; compared with much better programmer productivity at the expense of code efficiency when using languages with higher levels of abstraction, like Ruby on Rails or Python/Django.
Someone asked if that abstraction and inefficiency matters: as in most operational issues, it matters only if it matters. By which I mean if you are writing a system that is lightly used, or is on powerful hardware – it may not matter at all. But if you suddenly have an increased workload, it may matter a lot. (See the early occurrences of Twitter’s fail whale and RoR scaling.)
Then the question was asked, how can you know whether you are improving things when you change code? Trend it, of course. You probably know what will constrain your application performance. (If not, you need better monitoring.) For many sites, an obvious constraint is likely to be database queries per second. So plot database queries per web request over time Read more »
So as everyone knows, Amazon rebooted virtually all EC2 instances in December. They emailed people to notify them, but not everyone read the emails, leading to Amazon performing the reboots on their own schedule, with the customers unaware.
For some SaaS companies, this resulted in many hours of downtime. For others, there was a short impact. What was the difference? Read more »
Performance monitoring for all your infrastructure & applications. In minutes, not hours.
Questions? Call Us!
(888) 415-6442 or +1 (805)-617-3884