Showing posts from October, 2014

Common list of Bottlenecks

Common list of Bottlenecks: CPU: CPU overload Context switches ->  too many threads on a core,  bad luck with the linux scheduler  too many system calls, etc... IO waits -> all CPUs wait at the same speed CPU Caches: Caching data is a fine grained process, in order to find the right balance between having multiple instances with different values for data and heavy synchronization to keep the cached data consistent. Backplane throughput Network: NIC maxed out, IRQ saturation, soft interrupts taking up 100% CPU DNS lookups Dropped packets Unexpected routes with in the network Network disk access Shared SANs Server failure -> no answer anymore from the server Memory: Out of memory -> kills process, go into swap & grind to a halt Out of memory causing Disk Thrashing (related to swap) Memory library overhead Memory fragmentation In Java requires GC pauses In C, malloc's start taking