Задать вопрос
  • Как исправить ошибку 503 при запросе через haproxy?

    @Vitsliputsli
    by_EL,
    Apr 10 04:50:20 haproxy1 haproxy[1959]: 192.168.1.154:6448 [10/Apr/2023:04:50:17.622] frontend_01~ example.com/s2 2/0/-1/-1/3009 503 108 - - SC-- 1/1/0/0/3 0/0 "HEAD / HTTP/1.1"

    Здесь мы видим, что от клиента все получено быстро. Судя по коду, не получилось установить коннект к серверу, тем не менее время установки коннекта к серверу отсутствует... Не могу утверждать, но похоже, он не смог найти сервер на уровне ARP. Проблема сетевая между haproxy и сервером.
  • Как исправить ошибку 503 при запросе через haproxy?

    @Vitsliputsli
    А как настроен haproxy? Connection timeout, limit?
  • Почему возникает утечка памяти в php-fmp?

    @Vitsliputsli
    Дмитрий,
    Ага. И читаем мой первый ответ который говорит что идею написать на пыхе демон с воркерами надо положить в мусорное ведро потому что делать это на пыхе будет иметь гемморой не сопоставимый с ожиданием задачи в какой нибудь очереди. И тут в теме появились вы и начали бороться с пхпфобией.

    Неа, автору дали ответ (причем не я), простой и эффективный, увеличить кол-во воркеров как процессов, а не как потоков. Потом пришли вы и начали задвигать, что всех спасет брокер сообщений (хотя автору нужен параллелизм), потом про менеджер (хотя он нафиг не нужен).
    Параллельно зачемто заявили что "php не стабилен", на мой вопрос, как и здесь, начали оправдываться, что не то имели ввиду.

    Вывод блин простой. С массивами в пхп надо быть осторожнее. Они жрут много памяти. По-моему это очевидно.

    В 4ый раз: "Не вопрос, если подразумевалось, что такой функционал сам по себе тяжелый."

    Да не распаляюсь - скорее интерес что с вами не так если банальная констатация факта которую нельзя опровергнуть у вас вызывает желание защитить пхп. Вас представители других стэков в серверной бьют, или чего?

    Обожаю, когда люди проецируют на других свои представления. Я не защищал пхп, обычный инструмент со своими плюсами и минусами, я уточнял что вы имели ввиду, и когда уточнил, то согласился - смотрите мою цитату выше (уже 4ый раз ее пишу).

    констатация минусов той или иной реализации не является наездом на реализацию.

    конечно, смотрите мою цитату выше (уже 4ый раз ее пишу).
  • В чём отличия языка Си и С++? Зачем нужен Си?

    @Vitsliputsli
    pfg21,
    Си и его предшественники и создавались как абстракция от процессорно привязанного ассемблера (ассемблер кстати тоже абстрагируется от инструкций процессора :) ). при этом логика С близка к инструкциям процессора, все/большинство слов на С можно напрямую перевести в инструкции и окружение процессора.

    нет, ассемблеры это простые сборщики, их языки предоставляют прямой маппинг команд языка в инструкции процессора.
    Си же "абстракция от процессорно привязанного ассемблера", он не может быть близок к инструкциям процессора, т.к. не зависит от архитектуры процессора.
    "Напрямую переводят в инструкции" ассемблеры, компиляторы языков высокого уровня проводят дохрена работы, напрямую это не назовешь.
  • Почему возникает утечка памяти в php-fmp?

    @Vitsliputsli
    ligaliga, вообще сообщение "Out of memory" говорит о физическом недостатке памяти (при превышении лимита оно другое). Т.е. возвращаясь к моему комментарию выше, вы просто отловили тот момент, когда скрипты работали одновременно и они все потребовали памяти больше чем есть физически.
    Что касается мусорщика, он здесь вообще не при делах, его задача чистить память работающего скрипта анализируя использование переменных. Когда скрипт завершен, там уже php-fpm освободит ее, не разбираясь в переменных, которых уже нет.
    Касательно плавающего значения потребляемой памяти процесса - это лишь оптимизация со стороны php-fpm, если значение не превышает того, которой использует тот же скрипт в режиме cli, значит все норм. Если интересно, то нужно разбираться именно с этим, как php-fpm оптимизирует использование памяти.
  • Почему возникает утечка памяти в php-fmp?

    @Vitsliputsli
    Дмитрий,
    Так сказать надо читать что сказал автор, а не придумывать за него, равно как не пытаться обидется на то что кто сказал о том какая то абстракция в каком либо языке ведет к накладным расходам.

    А это еще забавнее, вы всегда на вопрос даете ответ в виде пересказывания вопроса? Автор пришел не с этим, а с "Но что-то мне подсказывает, что данную задачу можно решить куда проще и наверняка она уже давно решена". На что я и дал ответ, как решить просто и быстро. Вы же согласились с моим решением, но опять продолжили обсуждать сложные схемы и спорить с ними.

    равно как не пытаться обидется на то что кто сказал о том какая то абстракция в каком либо языке ведет к накладным расходам.

    В третий раз: "Не вопрос, если подразумевалось, что такой функционал сам по себе тяжелый."

    Если я скажу что пхп как язык с автоматическим сборщикам мусора более ресурсоемкий нежели язык где работать с памятью надо руками - вас тоже бомбанет? Не надо путать констатацию факта с претензиями.

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

    Слово array имеет определенное значение, и если открыть документацию пхп по массивами и можно увидеть что в первом абзаце в этой доке честно написано чуваки массив у нас не массив. И сравнивать по тому что это называет одним словом вполне можно.

    Сравнить можно вообще что угодно, главное какие выводы сделать. Мне просто показалось странным зачем сравнивать массив с ассоциативным массивом, вместо массива с массивом. И уж тем более странно исходить только из названия (вспомните ту же самую перегрузку). Но, дело ваше, опять же никаких претензий.
  • Почему возникает утечка памяти в php-fmp?

    @Vitsliputsli
    Дмитрий, и то правда, похоже опять те же грабли, вы по прежнему игнорируете и спорите сами с собой
    вы видимо не прочитали последние 2 сообщения где я цитирую автора. ну или надо еще раз. Мне добавить нечего к прямым цитатам и моим комментариям, могу только посоветовать читать до просветления.

    Читал, только вот автор и пришел с тем, что не знает как лучше сделать, а варианты который он приводит сам не считает работоспособными. Поэтому цитировать неработоспособный вариант, надумывать как в него запихнуть еще больше проблем, и как с ними невозможно бороться - это забавно. А, можно просто взять вариант описанный мной, простой и без выдуманных проблем. Но для этого нужно читать, что я пишу.

    В чем так сказать ваши претензии?

    Вы просто испытываете боль от упоминания оверхеда? ну примите нурофен

    Читаем, что писал выше: "Не вопрос, если подразумевалось, что такой функционал сам по себе тяжелый. Хотя, сравнивать массив и ассоциативный массив только по памяти, как-то странно, это разные структуры данных. Тогда уж сравнивайте обычные массивы".
  • В чём отличия языка Си и С++? Зачем нужен Си?

    @Vitsliputsli
    Сергей delphinpro, автор вопроса да, но ответ нет. C и C++ языки высокого уровня, они абстрагированы от инструкций процессора. Пишите вы printf или cout, все это и близко не лежит с командами процессору и оперированию данными в них. Тут не может быть никакого условного приближения, есть ассемблеры, языки которых действительно транслируют напрямую команды языка в инструкции процессора, есть языки высокого уровня, которые построены на иных принципах, основной из них, как раз не оперировать инструкциями, абстрагироваться от железа.
  • В чём отличия языка Си и С++? Зачем нужен Си?

    @Vitsliputsli
    Ну как так невозможно, столько лет писали и продолжают писать используя "атомарные инструкции процессора".
    А вот Си как раз не особо близок к "инструкциям процессора", наоборот его плюс именно в абстрагировании от них, благодаря чему один и тот же код можно собрать под разные архитектуры, был бы компилятор. В отличии от ассемблера, язык которого описывает именно инструкции конкретного процессора, и собираются они один к одному.
  • Почему возникает утечка памяти в php-fmp?

    @Vitsliputsli
    Дмитрий, может и не стоит, учитывая что в той теме упорно не читали что вам пишут, игнорировали собственно вопрос автора и придумывали свои проблемы и с ними же спорили, хотя я дал очень подробное описание решения задачи.Тем не менее, по одному разу не судят.
    "массив в пхп вещь тяжелая" подразумевает, что есть лучшие реализации вне пхп, просто было интересно. Не вопрос, если подразумевалось, что такой функционал сам по себе тяжелый. Хотя, сравнивать массив и ассоциативный массив только по памяти, как-то странно, это разные структуры данных. Тогда уж сравнивайте обычные массивы, хотя опять же непонятно с какой реализацией сравниваем.
  • Почему возникает утечка памяти в php-fmp?

    @Vitsliputsli
    ligaliga, согласен, глупость сморозил, лимит ставится на процесс. А общий объем памяти какой?
  • Возможно ли уйти из программистов в DevOps?

    @Vitsliputsli
    d-stream, дело не в современных методологиях, а в людях, так было и так будет. Хреновый сисадмин не станет гуру назвавшись DevOps-инженером. Дурак назвавший свою команду agile не сделает ее таковой. Но в мире не только некомпетентные дураки.
  • Почему возникает утечка памяти в php-fmp?

    @Vitsliputsli
    Дмитрий, я бы не сказал, что массив в php тяжелый, наоборот, он отлично сбалансирован. Вряд ли получится сделать чтото подобное лучше, учитывая, что это не просто массив, а ассоциативный, двусвязный список с хеш-таблицей, может хранить разнотипные данные и имеет высокую скорость доступа к отдельным элементам. Если попытаться чтото улучшить сразу что-нибудь потеряем, например выкинув неиспользуемые байты - нарушим выравнивание и потеряем в скорости доступа.
    Ну, а если прям критична память, стоит взять fixedArray.
  • Почему возникает утечка памяти в php-fmp?

    @Vitsliputsli
    ligaliga, по памяти этот скрипт должен занимать более 400М, php-fpm как видно использует при параллельных запросах меньше, вероятно как-то расшаривая память между процессами, тем не менее на каждый процесс приходится 200-400М. Таким образом, при лимите в 1G, если будет запущено одновременно 3-6 процессов они превысят лимит, т.е. вы получаете превышение лимита не из-за утечки, а когда отлавливаете этот момент.
  • Возможно ли уйти из программистов в DevOps?

    @Vitsliputsli
    d-stream, ну может быть, всякие бывают компании. Я просто скептически отношусь к утверждениям, что один Д'Артаньян, а все остальные...
    Agile не может быть среди "зашоренных винтиков", хотя действительно многие любят покрасивее что-то назвать, надеясь, что от этого вдруг все изменится.
  • Возможно ли уйти из программистов в DevOps?

    @Vitsliputsli
    Shadow_IV, допустим вам сейчас теоретически обоснуют что не сможете найти работу, вы расслабитесь и будете ждать чего-то? В это время, другой, такой же как вы, просто пойдет на собеседования, и либо получит работу, либо получит информацию, что ему нужно развить. Причем он ничего не теряет и даже приобретает в любом случае.
    Хотите чтото изменить - делайте, не ищите оправдания.
  • Возможно ли уйти из программистов в DevOps?

    @Vitsliputsli
    d-stream,
    DevOps - это скорее программист упрощёнными программистами aka кодерами.
    То бишь аналитики - нааналитят, кодеры - накодят, куски/микросервисы а вот девопсу потом из этой разрозненной части надо собрать (и не руками) целое, адекватно отражающее то, что наархитектирили архитекторы)

    Естественно всё что касается сетей/сисадминства - оный должен не знать, а жить этим. А со стороны программирования, не будучи винтиком - ну так же уметь понять и поправить косяк (зачастую - почуять проблему в коде не заглядывая туда).

    Прям гимн девопсу!
    Все в компании занимаются херней и только благодаря солнцеликому девопсу все не накрывается медным тазом. Он и без аналитики любую задачу знает, и за архитектором ошибки поправит, и прогерами наделанное несовместимое совместит и проблемы в коде по запаху определит.
    Я бесконечно верю в человеческое разгильдяйство и что гдето есть похожая команда, только вот и девопс там будет такой же - Jenkins установлен, значит CI/CD есть, а на остальное насрать. Даже если он назовется DevOps инженер, автоматически сияние от него исходить не будет.
  • Как правильно организовать таблицы?

    @Vitsliputsli
    Михаил Смирнов, не делите таблицу без нужды, т.е. без четкого понимания что выиграете, и главное в чем проиграете.
    Сколько у вас строк в таблице за все время и за один год? Какова примерная длина одной строки? Сколько лет реально нужно хранить, почему бы не чистить время от времени?
  • Возможны ли коллизии при использовании rename?

    @Vitsliputsli
    zkrvndm, еще раз, переименование файла никак не повлияет на запись в файл другим процессом, если он уже открыл файл до момента переименования.
  • Как правильно организовать таблицы?

    @Vitsliputsli
    Как только не организуют базы данных, и сегментируют, и шардируют. Другое дело, действительно не факт, что здесь это нужно. А если нужно, не факт, что так нужно делать.
    Зачем сегментировали? Какую проблему решили таким образом? Почему не встроенными средствами СУБД? Как подразумевалось обращаться к разным сегментам при необходимости?