MahdyTech

This is Ahmed Mahdy, and these are some of my thoughts, mostly on optimizing performance. Contact me on Twitter

Livesite by a Thousand Spikes 📈

August 30, 2022

An infrequent issue on many machines can disguise as a cluster-wide issue.

Large-Pages in Windows: The What, the Why & the How

December 27, 2020

It hit me that I don’t know what Large Pages really are, and I needed deeper info - which I am going through in this post.

Profiling Processor Cache Misses with VTune

August 06, 2019

VTune is an instruction level profiler. I want to explore if it can detect cache unfriendliness, and fix it.

More is Sometimes Less: When Lower Load Triggers Higher Latencies

May 12, 2019

Latency was high at low QPS due to an OS optimization. The profile did not catch the delays because they were on the Kernel side of things.

UMDH: Catching Slow Leaks Red-Handed

March 25, 2019

UMDH is a tightly stripped version of XPerf's extended leaks debugging capabilities. While not nearly as powerful, in several scenarios it is good enough.

Not all Async is Created Equal: How Using Async Correctly Increased Throughput by 4X

February 22, 2019

Cooperatively-scheduling our threads to yield on IO blocks allow us to process much more requests per second, with no reprimands for latency.

Wielding Debug Builds against Heap Corruption

February 10, 2019

Heap corruptions can be nasty to investigate. I rebuilt in debug & voila! The app was throwing exactly where the problem was happening.

Spawning Your First C++ Fleet with Service Fabric and REST SDK

February 04, 2019

Spawning a RESTful C++ app on an Azure fleet, using C++ REST SDK for building the web server and Service Fabric for orchestration.

The Curious Case of the 99.9% Latency Hike

January 13, 2019

Latency hike was caused by something local. However, `Lucy` had no new deployments for some time, no new data, nothing! How can nothing trigger something?

Be careful using Task Manager for Memory Metrics

January 05, 2019

Task Manager can be lacking as a memory tracker. Let's cover alternatives to replace it. First, let’s discuss how memory allocations work in Windows.

What happens when you press "X"

December 30, 2018

I used to think shutdowns are easy. Unfortunately that’s not completely the case. Ungraceful shutdowns bring about crashes, or unpredicted change to state.

Elements of Fast Services with C++

December 23, 2018

I used to think shutdowns are easy. Unfortunately that’s not completely the case. Ungraceful shutdowns bring about crashes, or unpredicted change to state.