• Где можно показать свой код?

    @Vitsliputsli
    Ответ дан, но так к слову, с чего вы все взяли, что код 4х циферный, вполне возможно, он такой пока 4 цифр хватает, как перестанет хватать, он станет 5и циферным.
  • Как сделать один запрос вне зависимости от количества переходов?

    @Vitsliputsli
    Елена Кермояк,
    проблема с прибавкой ключей на следующего босса. То есть у меня всего 100 ключей например и когда пользователь бьет например босса номер 5, а другой(ие) разных, то получается так что добавляется через раз дополнительный ключ на какого-то из этих боссов

    Вы реально считаете, что кто-то что-то понял из этого повествования?

    В общем, скорее всего обычный race condition. А решается оно пониманием того, где это состояние, поэтому обвешивать блокировками нужно не update. Блокировать БД нужно перед проверкой значения и снимать блокировку после обновления, чтобы предотвратить изменение БД в этот промежуток. А проверку вы нам почему-то не показываете...
    Либо решить это без блокировок (что разумеется гораздо лучше), например, вставив проверку значения в UPDATE. Например:
    update payments set amount=amount-1 where (amount-1)>=0

    Здесь у всех записей amount уменьшаем на 1, но только в том случае, если результат будет положительным.
  • Почему идет высокая загрузка CPU?

    @Vitsliputsli
    Valdis12, зомби не расходуют CPU, они уже мертвы, это лишь признак того, что процессы нормально не завершаются, разбирайтесь почему.
    Что касается CPU, то что непонятно? По выводу top видно, что glances и cadvisor сожрали 30%, остальные 20% сожрала node с товарищами. Вот и ваши 50%.
    В htop другая картина, потому как он каждый выше указанный процесс разбил на отдельные потоки. В нем кстати тоже можно включить показывать их вместе.
  • Можно ли узнать ip и др.?

    @Vitsliputsli
    По выданному СОРМ макадресу/ip получают у провайдера адрес, а он обязан знать его, и не важно как его сеть устроена. То что, где-то на домах не висят номера, не значит, что их у них нет, и кто нужно будет их знать, а провайдер вряд ли будет рисковать подключая кого-либо без адреса.
    WiFi имеет ограниченный радиус действия, прошерстить соседей не составит труда и вряд ли они успеют/догадаются поменять свой адрес wifi.
    И это в рядовой ситуации, без особых сложностей.
  • Расскажите про настройки redis timeout и ошибку подключения к redis?

    @Vitsliputsli
    Александр Панков, если понятно, то что тогда непонятно? Это отвечает почти на все ваши вопросы:
    1) Как получаются эти клиенты, я думал что на каждую джобу будет свой плодится, а нет, а как тогда, как оно с php-fpm работает?

    Весь смысл persistent connections в том, чтобы не плодить соединения. Скорее всего каждый процесс php-fpm использует только 1 соединение, как именно, тут уже читайте доку по predis, если интересно.

    2) Нормально это вообще, что timeouts 0? мне кажется нет

    Очевидно, что да, если у вас соединение постоянное.

    3) Почему ошибка вообще возникала? если логически подумать, то php-fpm стучался к редису и открывал соединение, получал данные и джоба успешно делала свои дела, спустя 300сек ЭТОТ ЖЕ pid php-fpm стучался в редис для очердной задачи, а соединение уже было закрыто и не мог достучатся, фейлился, так выходит? а что же тогда новое соединение не открыть, зачем старое юзать... (поэтому в эксперименте выше всегда 5 клиентов, когда джобов 50+ в моменте, тк юзаются старые подключения, верно мыслю?)

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

    4) Какое вообще правильно решение в этой ситуации? (да, я понимаю, что многого не понимаю, конкретно как оно там под капотом устроено, вот и прошу объяснить)

    Правильное решение зависит от задачи и цели которой хотим достичь. Возможно, для вас правильным решением будет не использовать predis, т.к. он вам скорее всего не нужен.
  • Расскажите про настройки redis timeout и ошибку подключения к redis?

    @Vitsliputsli
    Александр Панков, прочитать доку по predis.
    Например, если открыть FAQ, то один из первых вопросов:

    Does Predis support UNIX domain sockets and persistent connections?
    Yes. Obviously persistent connections actually work only when using PHP configured as a persistent process reused by the web server (see PHP-FPM).
  • Расскажите про настройки redis timeout и ошибку подключения к redis?

    @Vitsliputsli
    Скорее всего, predis переиспользует открытые соединения, соответственно, если redis по таймауту будет закрывать простаивающие, predis в какие-то моменты будет читать из закрытого соединения.
  • Обьсяните пожайлуста разницу между REST API и SQL-запросами?

    @Vitsliputsli
    Только первый просит x, а второй y. При этом x=fn(y).
  • Нужно ли просить договор?

    @Vitsliputsli
    Jacen11, а вы судились о невыплаченной премии? Или хотя бы ваш знакомый? Не беря тех, кто судится постоянно и со всеми.
    Суды не веселая развлекуха, даже с учетом что чаще всего они на стороне работника. Да и на новое место работы устраиваться имея суды с работодателем скорее всего будет не просто.
  • Почему возникает PHP Notice при запросе get_the_terms?

    @Vitsliputsli

    Видимо в некоторых случаях global $post пустой

    Точнее, $post в каких то случаях не объект, может не инициализирована, а может там массив или еще что-то.
  • Из-за чего возникает данная ошибка в консоли openserver?

    @Vitsliputsli
    А что именно не понятно, если RecursiveDirectoryIterator говорит "отказано в доступе"?
  • Как оптмизировать INSERT-SELECT SQL запрос?

    @Vitsliputsli
    А что за странные массовые копирования данных, которые нужно делать постоянно, да еще и быстро? Быть может надо разобраться зачем это вообще надо?
  • Как установить пакет игнорируя версию?

    @Vitsliputsli

    что как бы выше, но по законам математики - ниже и поэтому пакет не хочет ставиться

    По "законам математики" 11 больше 9. Версия это числа разделенные точкой, а не одно число.
    В общем все это здесь не при чем. Приведите конкретные ошибки composer в первую очередь, а потом уже догадки/измышления.
  • Сессия днс или что-то около того, как работает?

    @Vitsliputsli
    Tidus, если“до бекенда не доходит", то кто это отвечает: "В браузере видно ошибку без статус кода 'empty body'"?
  • Сессия днс или что-то около того, как работает?

    @Vitsliputsli

    В браузере видно ошибку без статус кода 'empty body'

    Т. е. ошибку возвращает приложение, а следовательно смотреть надо код.
  • Сильно ли тяжело для базы данных innoDB 1 500 таблиц?

    @Vitsliputsli
    Имя, тогда 2 таблицы, как указал выше Алан Гибизов. Т.е. все по классике.
    Дробление, шардирование, спасает при большом кол-ве строк в таблице, в вашем случае об этом речи не идет. И шардирование лишь усложнит разработку, и создаст большие проблемы с аналитикой по городам, если таковая понадобится.
  • Сильно ли тяжело для базы данных innoDB 1 500 таблиц?

    @Vitsliputsli
    Сколько строк планируется в каждой из 1500 таблиц?
  • Какое ваше отношение к таблицам с внешним ключам с NULL значением?

    @Vitsliputsli
    N, да, это будет универсальнее и во многих случаях удобнее. Если не брать в расчет, что с объектами географическими все сложнее (то что mayton2019 описал). А вот по скорости это решение будет проигрывать (все таки 3 запроса, вместо 1го)
  • Какое ваше отношение к таблицам с внешним ключам с NULL значением?

    @Vitsliputsli
    Использование null никак не поможет сохранить место, наоборот nullable столбец будет занимать чуть больше места.
    Индекс по null также строится и с производительностью там не будет никаких проблем.
    В общем технически, разницы практически нет.
    Бизнесово, группируя, например, по country_id нужно исключать из выборки фейковую страну 0. Не говоря уже о foreign keys. Вообще прописывать в каждой выборке еще и исключения, сомнительная затея.
  • Сколько нужно держать подключений к redis?

    @Vitsliputsli
    Смысла в нескольких нет, только лишние накладные расходы. Процесс все равно один, асинхронность тоже ничего не даст, не говоря уже о том, что и Redis однопоточный.