Aren't those 15 second spikes just IRQs cycling, acting on instruction? I'd say tune your interface buffers before you do anything or make any assumptions.