How to Spruce up your Evolved PHP Application – Part 2

BrowserPerformanceReport_PHP2_FeaturedImage

In the first part of my blog I covered the data side of the tuning process on my homegrown PHP application Spelix: database issues, caching on both the server and the client. By just applying these insights I could bring Spelix to a stage where the number of users could be increased by more than 150%, and user experience could be improved to make existing users eager to work with the system. By having more users contributing and delivering input, Spelix became more and ... More >

How to Approach Application Failures in Production

You-Broke-Something-thumbnail

In my recent article, “Software Quality Metrics for your Continuous Delivery Pipeline – Part III – Logging”, I wrote about the good parts and the not-so-good parts of logging and concluded that logging usually fails to deliver what it is so often mistakenly used for: as a mechanism for analyzing application failures in production. In response to the heated debates on reddit.com/r/devops and reddit.com/r/programing, I want to demonstrate the wealth of out-of-the-box insights ... More >

Are we getting attacked? No, it’s just Google indexing our site

indexer_thumb

Friday morning at 7:40AM we received the first error from our APMaaS Monitors informing us about our Community Portal being unavailable. It “magically recovered itself” within 20 minutes but just about an hour later was down again. The Potential Root Cause was reported by dynaTrace which captured an Out-of-Memory (OOM) Exception in Confluence’s JVM that hosts our community. The first thought that came to mind when looking at our Real User Data was: “We are under ... More >

How You Can Monitor Your Web Performance for Free

web performance for free

I recently analyzed FIFA's World Cup website for web performance best practices and highlighted the top problems FIFA had on their website (too many flag images, very large favicon, et Cetera). After completing the post, I realized we could use a freely available trial service to run some tests to see if they have improved things. You can use this same process to test your own pages. dynaTrace AJAX Edition has always been my tool of choice when doing these types of ... More >

Choosing the APM System that is Right for You

APMChoice_thumb

In my role as technology evangelist I spend a lot of time helping organizations, big and small, make their IT systems better, faster and more resilient to faults in order to support their business operations and objectives. I always find it frustrating to “argue” with our competitors about what the best solution is. I honestly think that many APM tools on the market do a good job – each with advantages and disadvantages in certain use cases. There is no “one size fits all” – ... More >

Software Quality Metrics for your Continuous Delivery Pipeline – Part III – Logging

Logger_thumb

Let me ask you a question: would you say that you have implemented logging correctly for your application? Correct in the sense that it will provide you with all the insights you require to keep your business going once your users are struck by errors? And in a way that does not adversely impact your application performance? Honestly, I bet you have not. Today I will explain why you should turn off logging completely in production because of its limitations: Relies on ... More >

Web Service Monitoring 101: Identifying Bad Deployments

IRS_Server_Cartoon_thumb

Have you ever deployed a change to production and thought “All went well – Systems are operating as expected!” but then you had to deal with users complaining that they keep running into errors? We recently moved some of our systems between two of our data centers – even moving some components to the public cloud. Everything was prepared well, system monitoring was setup and everyone gave the thumbs up to execute the move. Immediately following, our Operations ... More >

Software Quality Metrics for your Continuous Delivery Pipeline – Part II: Database

CDdatabase_thumb

No matter how often you deploy your application or how sophisticated your delivery pipeline is, you always need to know the quality status of the software you are building. That can only be done if you measure it; but measure what exactly? In Part I we introduced the Concept of Quality Metrics in CD (Continuous Delivery) by looking at the metric # of Requests per End User Action. In Part II we will focus on metrics around database access. You need to be aware of bad ... More >

Top 3 PHP Performance Tips for Continuous Delivery

TopPHPperformancetips_thumb

Are you developing or hosting PHP applications? Are you doing performance sanity checks along your delivery pipeline? No? Not Yet? Then start with a quick check. It only takes 15 minutes and it really pays off. As developer you can improve your code, and as somebody responsible for your build pipeline you can automate these checks and enforce additional quality gates. And as a PHP Hosting company/group you will be able optimize your deployment and run more of these apps and ... More >

Sync your Timeouts: When Load Balancers Cause Database Deadlocks

Deadlock_thumb

Have you seen this error message before “java.sql.Exception: ORA-00060: deadlock detected while waiting for resource”? This is caused when parallel updates require locks on either rows or tables in your database. I recently ran into this exception on an instance of an IBM eCommerce Server. The first thought was that there are simply too many people hitting the same functionality that updates Sales Tax Summary information – which was showing up in the call stack of the ... More >