An experimental evaluation of auto-scaling techniques for distributed stream processing systems