Клиент да, а для сервера нужно основательно RFC почитать чтобы правильно сделать, и то, скорее всего, реализуете не полностью, а только нужную часть стандарта.
Георгий Каплан: PS CC 15 это одно приложение. Вы имели ввиду просто CC 15? Если да - то вам оно не нужно, если вы не можете себе позволить купить такой софт. Если вы реально используете софт - он окупается, тем более в вопросе речь шла о PS, а с ним в нагрузку ещё и LR идет.
Георгий Каплан: Ваш комментарий это идеальный образец деструктивной логики.
Приложение разрабатывает огромнейшее количество людей, если вы реально используете возможности этого приложения, то у вас найдется $10 USD (или $20, не помню сколько там для Украины) для оплаты труда разработчиков. Не устраивает - пользуйтесь бесплатными альтернативами.
А то потом и получается, что "пока гром не грянет - мужик не перекрестится", не зря же поговорка существует.
codercat: Не знаю, вы о памяти сначала говорили.
Я вам ещё раз повторю: делайте профилирование, мы не видим ваш код, да и не особо есть желание смотреть.
codercat: Самое простое - поставьте простое логирование, посмотрите какая часть системы дольше всего отрабатывает, потом сужайте область логирования, и в конце концов получите основную причину тормозов, она обычно если не единственная, то 2-3 максимум, вот их исправить - и всё пойдет веселей.
codercat: Мне так кажется. То, что есть память - это хорошо, чем больше памяти кушает, тем меньше работает с диском. Главное чтобы на веб-сервер хватало.
Судя по формулировке вопроса у вас не астрономическая нагрузка, поэтому 20-30 секунд скорее всего причина не совсем оптимальных запросов, вот при определённом количестве посетителей они не успевают отрабатываться сразу и складываются в лавину, потенциально до полной остановки сервиса.
Их нужно оптимизировать, либо вручную кэшировать промежуточные результаты на какое-то время, это уже зависит от специфики вашего кода и логики работы сервиса, которых я не видел.
Павел Воронюк: На счёт MySQL да, уже несколько лет расширение как устаревшее, и это не имеет никакого отношения к MySQL, только к PHP (есть новые рекомендуемые драйверы).
А инъекции и в Африке и 10 лет тому назад инъекции, если вы давно не заглядывали в документацию и всё время писали подобный код то это очень и очень печально на самом деле.
Просто подумайте, что будет если подставить кавычку в first_name, и не пытайтесь экранировать кавычку, почитайте документацию и тот же хабр.
$test = 'Apple, Banan';
$test_array = array('Apple', 'Banan');
var_dump($test === implode($test_array, ", "));
Если и правда одинаково - выведет true, но что-то мне подсказывает, что должно быть не одинаково, иначе ошибки не было бы.