Question 10: Profiling and optimization [9]

In lectures, we discussed ideas for profiling and appropriate optimization of systems as the scope of your system grows.

Suppose your projects were expanded to allow backups of files/directories over a network to a secure central facility, and your software was in use by many clients nationally or internationally. Furthermore, suppose that demand had increased to the point where performance was starting to degrade: users were finding it more difficult to establish a connection to your server, and users found their backups were taking longer and longer to complete.

  1. Discuss approaches you would take to profile your system behaviour.

  2. Discuss some preliminary options for addressing likely causes of this behaviour, and the advantages/disadvantages associated with them.