• Есть ли смысл перенести Mysql на другой сервер для ускорения сайта?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Нет, смысла нет. Для ускорения работы сайта надо сначала провести исследования проблемы. Для начала однозначно определиться что, где и как именно у вас "медленно открывается". Далее необходимо собрать данные о происходящих процессах - что, где, как и когда работает, а так же какую создает нагрузку на оборудование - процессор, память, сеть, диски и прочее. По результатам данного исследования надо будет найти бутылочное горлышко или несколько и исследовать их более детально и глубоко, чтобы понять как их устранить - программно, аппаратно, организационно и прочее. И вот только после этого уже решать что именно и как именно надо сделать для решения проблемы.
    Ответ написан
    Комментировать
  • Есть ли смысл перенести Mysql на другой сервер для ускорения сайта?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Во первых, PageSpeed инсайт это просто попугаи от гугла. Снесите с сайта яндекс метрику и сразу +10-20.
    100 попугаев означает лишь только одно - гугл не знает как эту страницу сделать быстрее.
    с оценкой 100 страница может открываться 5-10 секунд, а отрисовывающаяся менее секунды иметь оценку на уровне 70-80.

    Во вторых, показателей быстродействия гораздо больше.
    Как бакендер (и на то, что влияет БД) я бы ориентировался на "Время до передачи первого байта ответа"
    Минимум этого отклика 5-7мс. Н-р голый PHP или Symfony с прогретыми кешами, когда для ответа не используется ничего кроме самого PHP.

    Страница с одним запросом (SELECT ) по первичному индексу это от 5мс.
    Время от реквеста до начала ответа должно быть менее 100мс (в идеале 25-50мс).

    Во вторых, мне кажется что вы смотрите время полной отрисовки страницы.
    Тут нужно оптимизировать время отрисовки начального фрейма страницы. Если на странице много картинок, то сделать ленивую подзагрузку их. Сперва плейсхолдеры, а к моменту прокрутки скачивать.

    Возвращаясь к выносу муськи на другой сервер.
    В пределах одного компа лучше с ней работать через сокеты. Стек TCP медленее. А если на другом, то сравнивайте сами, ахз может у Вас там будет 10Гигабитс. Но я бы на это не расчитывал, не те тарифы.

    Оптимизируйте запросы. Создавайте оптимальные индексы. Для сложных фильтров стоит подумать о других механизмах.

    400к - это не то количество, чтобы уже на нескольких хоститься.
    В конце концов возьмите дедик (физический сервер в аренду), а не пару VDS.

    P.S. Заниматься глубокой оптимизацией на VPS считаю извращением. Так как никогда не знаешь какой на этой машине окажется оверсейлз (продано 146 процентов ресурсов или больше ). Стоит ли что-то кешировать в оперативе или будет только хуже, когда там виртуалки начнут переключаться и свопиться под большой нагрузкой от соседей по серваку.
    Ответ написан
    Комментировать
  • Как исправить ошибку Cannot resolve argument $fileUploader в Symfony 6?

    @tukreb
    Все файлы на php должны начинаться со строчки
    <?php
    В вашем сервисе этой строчки нет. https://github.com/Kstein-yandex-ru/fund-agragator...

    И вообще используйте IDE, типа phpstorm, которые такие пустяки будет за вас исправлять.

    П.С И раз начали изучать современный фреймворк, то изучайте и современный php стиль. Все классы (кроме Entity, из-за того что доктрина не умеет проксировать final классы) должны быть final, разумеется кроме тех от кого наследуетесь.
    Ответ написан
    1 комментарий
  • Почему не срабатывает ссылка подтверждения регистрации в Symfony 6?

    private VerifyEmailHelperInterface $verifyEmailHelper,


    Вам на будущее: было бы неплохо, чтобы вы показывали нам чуть больше кода, чтобы не приходилось подключать дедуктивный метод для нахождения улик.

    Судя по запятой в конце строчки, свойство $verifyEmailHelper объявляется сразу в конструкторе. А "Constructor property promotion" появился только в версии PHP 8.0

    Поэтому, если версия PHP ниже, появляется подобная ошибка.
    Ответ написан
    1 комментарий
  • Как сделать авторизацию по двум таблицам в Symfony?

    Разные категории пользователей в Symfony лучше всего организовать при помощи ролей.

    Основная таблица users будет содержать всех ваших пользователей, это проще всего. Там же и будет поле с ролями.

    Для дополнительных полей другой категории пользователей лучше всего создать отдельную таблицу, которая будет связана с основной через связь one-to-one либо one-to-many по id пользователя (посмотрите уроки по Doctrine).

    Однако, если пользователей с этими дополнительными полями будет подавляющее большинство, то можно не усложнять, а смело создавать эти поля в основной таблице users.

    Очень советую досмотреть полностью уроки с symfonycasts.com. Они великолепны, и там точно всё необходимое должно быть.
    Ответ написан
    2 комментария
  • Можно ли как-то отредактировать файл /etc/resolv.conf на shared хостинге?

    karabanov
    @karabanov Куратор тега Ubuntu
    Системный администратор
    На shared хостинге нет, на полноценном VPS да.

    У curl есть флаг --resolve
    curl --resolve go1.unisender.ru:443:217.77.111.4 https://go1.unisender.ru

    Для PHP, например CURLOPT_RESOLVE
    Ответ написан
    Комментировать
  • Как посчитать количество символов слова из регулярного выражения в Javascript?

    @dodo512
    s = s.replace(regularBadWord, '*'.repeat(regularBadWord.length));

    Поменять на
    s = s.replace(regularBadWord, m => '*'.repeat(m.length));
    Ответ написан
    2 комментария
  • Есть ли генератор PHP кода?

    @BorisKorobkov Куратор тега PHP
    Web developer
    Комментировать