• Почему возникает утечка памяти в 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
    Как только не организуют базы данных, и сегментируют, и шардируют. Другое дело, действительно не факт, что здесь это нужно. А если нужно, не факт, что так нужно делать.
    Зачем сегментировали? Какую проблему решили таким образом? Почему не встроенными средствами СУБД? Как подразумевалось обращаться к разным сегментам при необходимости?
  • Возможны ли коллизии при использовании rename?

    @Vitsliputsli
    zkrvndm, кейс:
    1 пользователь открыл файл для записи, у него есть дескриптор и на имя ему уже пофиг.
    2 пользователь переименовал этот файл.
    1 пользователь начинает писать.
    2 пользователь открывает файл и тоже начинает писать.
    В итоге все пишут в один файл.
    Вы можете блокировать файл для записи, но разница будет только в том, что 2 лишь подождет снятие блокировки.

    На всякий случай, есть простые СУБД типа sqllite, которые не требуют отдельного разворачивания инстаса, т.е. примерно то, что вы и пытаетесь сделать.
  • Grub установлен не правильно, не видит своего конфига?

    @Vitsliputsli
    Как переустанавливаете (команды)? Какая таблица разделов на диске gpt или mbr?
  • Возможны ли коллизии при использовании rename?

    @Vitsliputsli
    Запись логов обычно идет без блокировок, по понятным причинам. Она действительно выровнена, т.е. если запись меньше блока (обычно 16k), то проблем нет. Если больше, то возможна "каша".
    Rename, конечно, атомарный, но только вот в открытый файл мы пишем по файловому дискриптору, а не имени. Т.е. переименование не гарантирует, что кто-то не продолжит писать в этот файл.
  • Почему не работают констатны в ISPmanager?

    @Vitsliputsli
    Скорее всего пытались определить ее через другие несуществующие константы. В любом случае, читайте лог ошибок.
  • Как проверить, что прислан валидный отпечаток FingerprintJS?

    @Vitsliputsli
    Александр Аксентьев, думаю они так делают, чтобы различать типы фингерпринтов по типу собранных данных, быть может даже формируют связи при частичных изменениях. А если такие тонкости не нужны, то просто хеш и валидировать структуру не нужно, т.к. смысла в этом уже нет.
    Вопрос к Надим Закиров, какова цель валидации? И, кстати, GUID тоже бывает разный, 4 версия - сплошной рандом, кроме нескольких бит, собственно версию обозначающих. Тут вопрос не в формате, а что и для чего проверяем.
    1) гарантировать валидность невозможно. даже если это будет строка, или набор данных, в них тоже легко поменять что-либо.
    2) проверять нужный ли формат хеша или другой нет смысла из-за п.1
    3) хочется усложнить немного подмену - введите в запрос signature, считайте еще и хеш с солью по всему запросу, тогда взломщику понадобится лезть в код и разбираться как генерируется signature.