in reply to Performance issues

From my pov you should consider to run the script with a lower priority. It is typical task of the operating system and the operator to assign priorities.
Furthermore depending on the size of the files a significant time will be spend in the zip part which is outside your control anyway.