As installed, the Integration Services Catalog (SSISDB Database) Indexes do a poor job of assisting the SSIS Server Maintenance Job to purge old log records. This issue is described and some index recommendations are provided in this blog post:
My testing showed these indexes greatly improved the speed of the SSIS Server Maintenance Job. E.g. for a major purge (e.g. removing 30m rows from internal.event_messages table) the intial run took 4 hours to delete only 4m rows (I cancelled the job at that point). After creating the recommended indexes the remaining 26m rows were deleted in "only" 1 hour (still not great).
Environment is SQL 2012 SP1 Developer Edition, Windows Server 2008 R2 SP1 x64, 16GB RAM, 4 x Xeon 2.4GHz CPU, Virtualized on VM Ware.