Роман Мирр, Пока ограничился такими мерами:
- убрал профайлинг запросов (был включен всё это время оказалось еще со времен разработки);
- поправил настройки кеша и т.п. для mysql по рекомендациям с хайлоад.ру.;
- понизил степень сжатия gzip в апаче с 9 до 3 (это, как я думаю, самое влиятельное изменение на тормоза апача сейчас).
При этом, как оказалось, запросов в секунду производится не 70, а 1000. Как я так раньше насчитал - не могу сказать :).
Из этой 1000 процентов 90% - повторные попытки поставить в очередь отправку/прием данных со сторонней системы, которая в последнее время сбоит. Но это отдельная нагрузка от фоновых скриптов, она идет не через пожирающий процессор апач.
Тем не менее, даже сейчас при этой 1000 запросов в секунду с указанными выше изменениями всё работает весьма стабильно. Загрузка проца в среднем 30-50% и только от Апача. Объем потребляемой памяти не вырос.
Включал лог всех запросов. Время блокировок микроскопическое. Думаю, что всё же основной причиной просадок является этап работы веб-сервера.
Конечно, нужно пересматривать архитектуру, разносить базы по чтению и записи, но это точно не в это лето.
Обязательно отпишусь по достижению каких-либо принципиальных изменений.
Sha644, Дык это же копия.
Для нужд приложения всё есть на сервере - работа идет с ними.
А для нужд исполнения требований закона - есть хранение локально у пользователя. И мы его считаем наиглавнейшим - про это пишем во всех политиках, положениях, соглашениях.
Про ответственность - разделить, а еще лучше возложить ответственность на пользователя. В соглашении на право использования сервиса можно указать, что сервис, конечно же, постарается сделать всё, что нужно (синхронизировать, удалить по требованию), но в целом за данные, размещаемые в localstorage на компьютере пользователя отвечает сам пользователь. Делов-то.