>>Например клиент прислал данные, мы ему сразу вернули результирующий ид и отпустили lega ну так ничто не мешает сейвить в табличку, а потом дорабатывать обработчиком, как вы написали далее.
>>В итоге что-бы иметь ид не нужно ждать ответа от сервера, когда он закончит.
но так и не будет понятно, сохранился результат или нет. D - durability.
zeribaveg сделайте как я предложил. Это даст вам понимание, связан ли более долгий ответ сервера с бизнес логикой приложения, или с чем-то другим (например более долгий dns lookup, задумчивый прокси, сайты на медленном диске и пр.).
Если проблема не в приложении, оптимизировать бд бесполезно.
Если проблема в приложении, следует выявить сначала узкие места (не факт что проблема именно в бд).
zeribaveg
Вы говорите что сайты одинаковые, но потом пишите что у них разный размер бд. Если хотите протестить одинаковые сайты, поставьте на всех простейших скрипт (без wordpress'a и пр.) и посмотрите время ответа.
Владимир Ревякин, смотрите: в режиме dynamic fpm будет рестартить процесс после обслуживания определенного числа запросов (директива pm.max_requests в конфиге fpm pool);
в режиме ondemand будет генерить процессы "по требованию" и рестартить незанятые процессы (idle child) по таймауту или по достижению max_requests.
Судя по логу прежде чем произошла ошибка процесс работал 26412/(60^2)=7.33 часов - это много. Ваш pm.max_requests установлен в слишком больше значение для режима dynamic. Попробуйте снизить его так, чтобы был рестарт хотя бы раз в 15 минут. Если у вас все логи об ошибке упираются в какой-нибудь memory leak (child'ы работают часы прежде чем отдать sigbus), это решит проблему.
Если проблема не решится: надо понять, с чем связана ошибка: с логикой ваших скриптов или с чем-то другим. Если с логикой скриптов - правите логику скриптов. Если с чем-то другим - это может быть какое-нибудь дополнение php (apc часто грешит проблемами с памятью), конфиги (хотя вы сказали что все настроено), ограничения коннекта на связке веб-сервер - php-fpm (если у вас связь через файловый unix сокет, попробуйте сделать через сетевой, т.е. tcp 9000 порт), или какая-нибудь мгновенная утечка (сделайте free -m и htop и посмотрите, сколько у вас свободной RAM).
>>видел я это, там просто обычная Model и все, а мне надо AR завернуть в Model, лучше найдите мануал об этом.
Там почти все есть. Есть форма загрузки (UploadForm). У нее есть свойство - $imageFile. Есть метод загрузки формы (upload). Вы могли бы:
1.1 в класс формы добавить новое свойство $myModel (или другое название: то чем является ваша модель к чему файл крепите)
1.2 в метод upload добавить логику по валидации и сохранению $myModel
1.3 в контроллере загружать данные в форму и вызывать ее метод загрузки
Коль метод загрузки upload начнет отвечать не просто за загрузку файла, а за ряд действий по обработке формы, можно переименовать его в "сохранить" (save), "обработать" (process) или "отправить" (submit).
>>Найти бы их нормальные.
Для простых решений обычно делают свое, для сложных - ищут готовое. Для данной задачи пожалуй лучше написать свое.