Была поставлена задача максимально ускорить работу сайта. Специфика состояла в том, что на сайте нет музыкальных файлов и все запросы файлов mp3 читались с сервера vk, а потом отдавались клиенту. В результате работ, был переписан способ раздачи файлов, ислючено участие php в процессе раздачи файлов: nginx сам скачивает нужный файл с серверов vk и отдаёт клиенту. Это скачивание лишь запускается php и далее phpне участвует в процессе и не ест память.
После оптимизации раздачи mp3 увеличившаяся посещаемость (скорость отдачи значительно увеличилась и новые посетители стали активнее использовать сайт) обнаружила новое узкое место: одна из таблиц mysql очень часто обновлялась, поэтому было решено сменитьтип таблицы с myisam на innodb, дабы исключить блокировки всей таблицы, а следствие этого - лавинообразное увеличение количества активных подключений к бд и висящих с ними коннектов от клиентов. Смена типа таблицы привела к увеличению продолжительности нахождения людей на сайте и активности использования сайта.
Далее производительность упёрлась в ограничение файловых операций: все запросы к внешнему серверу vk (наиболее частая операция) кэшировались в файлы. Возросшая нагрузка на файловую подсистему была резко снижена за счёт замены кэширования в файлы на memcache. К сожалению, свободной памяти было мало и доступный объём хранилища для memcache оказался недостаточным - кэш работал неэффективно и заметного снижения нагрузки уже не происходило. Сервер заменили на более мощный.
http://plus-music.org/