Задать вопрос
  • В чем ошибка применения функции sleep()?

    @Vitsliputsli
    Korneliy,
    Но остановилось, сделав где-то 2/3 от общего объёма.

    тогда скорее всего проблема в коде, либо чтото залочилось в базе, посмотрите локи, да и просто долго выполняющиеся запросы на ней.

    Мысль пришла в файле сделать последовательно три копии этого же файла. В первой с помощью BETWEEN прописать первую треть, во второй - вторую, в третьей - третью.

    ну хоть так, если не знаете, как сделать такой цикл в коде.

    Вот только надо понять, что МЕЖДУ этими копиями прописать. Может, тот же самый sleep...

    да ничего не надо, уж между запусками 3 скриптов точно ничего не надо.
  • В чем ошибка применения функции sleep()?

    @Vitsliputsli
    Korneliy, надо понимать что делают sql запросы (да и php тоже). При простом добавлении данных сильной деградации быть не должно.
    Если используете BETWEEN и блоки, то вероятно идете по полю без индекса, из-за этого при каждой итерации он перечитывает всю таблицу сначала до нужной позиции. Используйте primary key в between, либо стройте индекс по фильтруемому полю.
  • В чем ошибка применения функции sleep()?

    @Vitsliputsli
    Korneliy, не усложняйте раньше времени, не заморачивайтесь ни sleep, ни блоками, запустите ваш скрипт для начала просто в cli, проверьте отрабатывает ли он там.
  • В чем ошибка применения функции sleep()?

    @Vitsliputsli
    Korneliy, sleep никак не поможет вам с 504 ошибкой nginx, если вы про это.
  • В чем ошибка применения функции sleep()?

    @Vitsliputsli
    Korneliy, nginx ни с чем не справляется, он просто ждет определенное время и если не получил ответ от php выдает эту злосчастную ошибку. А php продолжает в это время работать, как и mysql.
    Для вашей задачи nginx вообще не к месту, а запустить скрипт php из консоли в данном случае проще, чем делать это через веб.
    Блоки нужны для другой цели, чтобы СУБД не повесилась от огромного кол-ва работы которую вы на нее взвалили. Чтобы другие процессы могли ей пользоваться свободно, пока идут такие крупные чтения/вставки. Троттлинг, sleep, который "ставит выполнение php на паузу" тоже для этих целей. Поэтому размер блоков и величину троттлинга нужно подбирать экспериментально.
  • Имитация ООП в C, где ошибка?

    @Vitsliputsli
    Василий Дёмин, я думаю автору вариант с костылями тоже подойдёт. Как минимум, чтобы посмотреть какие вообще могут быть варианты. Так что кидайте их, всем будет интересно.
  • Дописать в файл json и прочесть его php?

    @Vitsliputsli
    SteepNET, бд не панацея, которая спасёт от всего и вся. Если речь про 10Мб в год, то действительно стоит задуматься о том, так ли необходима бд. Тут проще прочитать и записать файл целиком. Опять же, есть sqlite.
    Либо хранить в json отдельные события лога, а писать-читать построчно. А потрошение json и запись отдельных кусков не лучшая идея. Но мало того, что сама идея плохая, она ничего полезного не даёт, если сравнить с записью построчно.
  • Дописать в файл json и прочесть его php?

    @Vitsliputsli
    SteepNET, можно, очевидно просто добавьте символ новой строки при записи.
    Только зачем? Что будет дальше? Комментарии в json?
    Это все превращается, как написал FanatPHP, в "ковыряться грязными ногами в джейсоне".
  • Дописать в файл json и прочесть его php?

    @Vitsliputsli
    Immortal_pony, если вновь записываемые json настолько независимы от предыдущих, что мы предыдущие даже не смотрим, зачем тогда их объединять в один json? Почему бы не писать их отдельными строками? Каждую строку при этом можно будет обрабатывать отдельно. Собственно как это и делается в системах логирования. Смысл расширять дозаписыванием со странными телодвижениями, когда при чтении придется читать все скопом?
    И когда автор запустит свою шайтан-машину и она насоздает записей, через некоторое время он опять придет с новой задачей: не перезаписывая весь файл удалить из json несколько первых объектов.
  • Дописать в файл json и прочесть его php?

    @Vitsliputsli
    Immortal_pony, вообще, то что хочет автор, очень похоже на логирование, а при этом в каком формате будет дозаписываемая строка json, csv или еще что, это как удобнее. Но ломать дозаписывать json решение так себе.
    SteepNET, если вам легче будет работать с json - берите json. Записывать его не намного сложнее, не так уж и много потеряете на генерации json. Но это должны быть независимые json в каждой строке.
  • Как ускорить работу Apache + FastCGI?

    @Vitsliputsli
    sarkisssik, именно так, сколько не купи, всегда будет мало. Поэтому прежде чем докупать процессоры, нужно посмотреть что там крутится на бедной СУБД, что ее так напрягает. Раз она постоянно в таком состоянии, то достаточно посмотреть какие запросы выполняются прямо сейчас и проанализировать для начала их.
  • Дописать в файл json и прочесть его php?

    @Vitsliputsli
    FanatPHP, метафора, конечно, звучная. Но то, что дозаписать json не получится, автор уяснил. Тогда о каком ковырянии json идет речь?
  • Дописать в файл json и прочесть его php?

    @Vitsliputsli
    FanatPHP, он пишет, что "хочет попробовать", пусть пробует. Тем более, дозаписывать логи в файл, вполне себе годное решение.
    Либо пытать автора на предмет решаемой задачи, если есть желающие.
  • Дописать в файл json и прочесть его php?

    @Vitsliputsli
    ThunderCat, он хочет дозаписывать в файл, а не переписывать его целиком каждый раз.
  • Дописать в файл json и прочесть его php?

    @Vitsliputsli
    SteepNET, простой - взять file_get_content, прочитать весь файл в память, потом поделить по переносам строк, но тогда нельзя использовать переносы строк внутри json. Но все это при условии, что весь файл всегда будет помещаться в память. Либо открывать через fopen в режиме 'r' и читать построчно через fgets.
    Дозаписывать - открывая файл через fopen в режиме 'a'.
  • Почему бекенд не пишут на С++?

    @Vitsliputsli
    Andrei Brizhak, верно, как и другие языки, как и Java, как и Python, можно и C#. Собственно об этом я и в основном своем ответе писал.
    Тесты разобрал в прошлом комменте, если есть возражения готов обсудить. Могу лишь повторить, что выигрыш в несколько наносекунд на сборке json - это мелочи с потерей в других областях, и именно поэтому выбираем не C++, а то что проще в разработке. А генерить статику, когда ищем производительности - это очень странно.
  • Нужно ли везде использовать TypeScript? или это хайп?

    @Vitsliputsli
    mkone112, потому что у термина сильная/слабая типизация нет однозначной трактовки. Как, например, в этом вопросе сильная ли типизация в TS, уже возникли разногласия.
  • Почему бекенд не пишут на С++?

    @Vitsliputsli
    Andrei Brizhak,
    Вот здесь, тесты испытаний фреймворков для Веба на основе, перечисленных Вами языков, включая "быстрый" PHP.

    Что ж, вооружившись этим знанием, вы теперь можете ответить на вопрос автора. Т.к. на первой строчке C++ использовать надо его, а то, что так практически никто не делает, это от того, что они все идиоты. Получается так?
    Либо перечитайте мой ответ и поймите, что для своих задач PHP быстрый, как в работе, так и в разработке, и потому пишут на нем, а не на Си или даже ассемблере.
    Можно еще посмотреть на содержание тестов этих испытателей, порадоваться задачам нагенерить json-чики вида {"message":"Hello, World!"}, сгенерить html (когда ищем высокую производительность, самое оно генерить html на беке), ну и еще куда ни шло фетч и update, но опять же с непременной генерацией json и отдачей его по сети.
    А потом возьмите реальный проект, в котором вас будет волновать скорость выполнения запросов в базе данных, скорость работы сложных модулей, уже написанных на Go, потому что это будут узкие места, а никак не скорость генерации json и фетча в популярных языках на основе синтетических тестов.
  • Нужно ли везде использовать TypeScript? или это хайп?

    @Vitsliputsli
    ali5,
    тоесть TS как бы делает из JS язык типа C или JAVA?

    нет, не делает, т.к. у каждого языка свои особенности типизации. И уж точно не типа Си, у которого упрощенные проверки на типы и потому слабая типобезопасность по сравнению с другими языками, в том числе TS и JS.

    insighter,
    люди которым нужно объяснять пользу строгой типизации.

    Антон Швец,
    но в ts типизация не строгая :)

    Надо сперва договориться о терминах, потому как неизвестно, что скрывается за словом "строгая". Обычно считается, что "строгая" это синоним "сильной", а сильная/слабая типизация бессмысленный термин сейчас, т.к. в него вкладывают все что заблагорассудится. А если речь про TS, то наверное имеется ввиду явное указание типов и запрет на неявные преобразования.
  • Как "помочь" сис. админам провайдера найти потерю пакетов?

    @Vitsliputsli
    Просто не принято судиться за свои права в СНГ.

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