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, 2022An infrequent issue on many machines can disguise as a cluster-wide issue.
Large-Pages in Windows: The What, the Why & the How
December 27, 2020It 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, 2019VTune 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, 2019Latency 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, 2019UMDH 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, 2019Cooperatively-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, 2019Heap 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, 2019Spawning 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, 2019Latency 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, 2019Task 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, 2018I 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, 2018I used to think shutdowns are easy. Unfortunately that’s not completely the case. Ungraceful shutdowns bring about crashes, or unpredicted change to state.