Design commit timeout

Hi guys.


We have a highly customisable design in our Matrix install that we are using for a large number of our new websites. The idea is that this single flexible design can be quickly set up for our sites through creative use of customisations.



This approach is very good for creating a number of easily managable designs based on a single parse file but unfortunately it has begun to cause problems. We started to get PHP timeout errors when the design was committed so we fiddled with php.ini to work out how long the commit was actually taking. At the moment it's taking about 1 minute 40 seconds to process the design. Obviously, we don't want to leave PHP's timeout setting way up at the 2 minute mark so we looked at what could be making it take so long. The database server isn't taking too much of a hit (6 - 10% of one core) and we've confirmed that the link between it and our webserver is fast and reliable. The webserver does seem to be getting hit quite hard but we can't get such a detailed indication on it.



My question, I guess is whether you have any suggestions. We're running Matrix v3.12.3 for now so if an upgrade will speed things up that would be nice. Is there any way to optimise large and highly customised designs to try and speed things up and are there any things you can think of that might be bottleknecking this?



Thanks


The key is to use as few design areas as possible and to customise as few of those as possible. Essentially, the parse process has to go through every design and customisation and write out PHP code for every customised design area it finds. The fewer it finds, the faster it processes.