@phpclubru

Страница 736 из 956
Скайнет
25.12.2018
13:57:53
И это будет быстрее чем в мемкеше строить теги
А как он ищет их? Небось строит список всех ключей и начинает циклом бежать по нему? Мне аж захотелось провести тесты...

Pavel
25.12.2018
13:58:23
Но и в твоих тегах его тоже нет, я уверен, там тупо перебор

Но можно написать команду на lua

Google
Скайнет
25.12.2018
14:00:47
Но и в твоих тегах его тоже нет, я уверен, там тупо перебор
Дак я не выбираю все ключи модуля. На примере списков, есть ключ списка с такими то ID такой то функции для первой страницы списка, функция пройдется и соберёт все данные так, что у меня будет аналог мускуловской выборки.

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

Pavel
25.12.2018
14:02:52
ой все

сиди на старомодном мемкеше

dypa
25.12.2018
14:03:58
В мемкеше есть выгрузка списка всех ключей, но работает она как попало, а в редисе?
выгрузка списка ключей это костыль, не нужно так делать

Скайнет
25.12.2018
14:04:27
сиди на старомодном мемкеше
Смысл редиса же в том что он сбрасывает на диск, или умеет делать широковещательную рассылку, но ни то ни другое мне не нужно, по этому единственный плюс, это возможность удалить ключи по паттерну, вот про это бы почитал на примерах.

Скайнет
25.12.2018
14:04:50
выгрузка списка ключей это костыль, не нужно так делать
Предлагаете сохранять в кеш уже сформированный контент?

Pavel
25.12.2018
14:05:00
А вот поиск ключа по паттерну мог бы тебе сильно помочь

Но мне уже лень там вникать в твою задачу

dypa
25.12.2018
14:05:55
Скайнет
25.12.2018
14:06:14
А вот поиск ключа по паттерну мог бы тебе сильно помочь
Тогда бы скорость сравнялась возможно, у меня на мемкеше она проседает из-за выгребания и обработки служебных данных.

предлагаю кеш использовать как кеш.
Он у меня как кеш и используется, если умрет, ничего не сломается, просто нагрузка станет довольно дикой.

Google
Dmitry
25.12.2018
14:22:33
редис же однотредный, не?

Pavel
25.12.2018
14:23:51
и што

Dmitry
25.12.2018
14:24:11
дык упереться в тред можно

Pavel
25.12.2018
14:24:32
Я подозреваю что можно несколько редисов запустить

и прибить к ядрам

Dmitry
25.12.2018
14:25:05
так память то разная будет

а кластер, там тоже мастер один

мы юзаем и редис и мемкеш и даже апц ?

Pavel
25.12.2018
14:25:47
И что бывало что упирались в процессор?

Dmitry
25.12.2018
14:25:57
после того, как один кеш из мемкеша нам сеть положил ?

Adel
25.12.2018
14:26:19
дык упереться в тред можно
http://oldblog.antirez.com/post/redis-memcached-benchmark.html вот нашел типа бенчмарк

видимо там слишком мелкая нагрузка ив тред не уперлись

ты упирался? :)

Pavel
25.12.2018
14:27:16
Ящитаю что когда редис упирается в тред, то проект уже таков что там в команде есть спецы по си и линуховому ядру

Pavel
25.12.2018
14:28:09
И все детские вопросы типа 'а кто быстрее' отпадают, и начинается мясо про локальность кешей процессора, разделяемую память и работу в обход сетевого стека ядра

Adel
25.12.2018
14:29:20
Ну я тут посмотрел... как бы тарантул создавался для супер=хайлоада. мэйл ру и все такое.

он тоже сингл тред

Transaction control Transactions in Tarantool occur in fibers on a single thread. That is why Tarantool has a guarantee of execution atomicity. That requires emphasis.

dypa
25.12.2018
14:30:41
nginx как бы тоже

Google
Artem
25.12.2018
14:31:18
редис же однотредный, не?
зато он лояльней к ресурсам и не жрет память. А еще как в примере который тут выше в вопросе был, когда сложные выборки -можно использовать подходяющую структуру данных + транзакции и lua. Ну и синглтред -это конечно плохо, но ты можешь считать, что он поддерживает полноценную параллельность )

Dmitry
25.12.2018
14:31:56
тарантул не кеш, все же ?

Pavel
25.12.2018
14:32:03
Transaction control Transactions in Tarantool occur in fibers on a single thread. That is why Tarantool has a guarantee of execution atomicity. That requires emphasis.
Не понял, тут упирается на то что в одном треде легче следить за транзакциями ?

Adel
25.12.2018
14:32:16
атомарностью

Pavel
25.12.2018
14:32:28
Ну впринципе логично

Но ведь ничто не запрещает на уровне тарантула запустить по тарантулу на каждый тред и чтобы это все работало

Dmitry
25.12.2018
14:33:25
что-то у меня нет доверия к эттому бенчмарку, нужно разбираться что он нам за код написал, прежде чем принимать во внимание

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

Pavel
25.12.2018
14:34:03
Если бенчмарк писал автор редиса то конечно у него редис будет быстрее :)

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

Ну например можно эту обязанность свалить на пользователя. В случае редиса номера базы разбросать по тредам

не знаю есть ли в тарантуле базы

Dmitry
25.12.2018
14:35:30
ну это ты в другую область шардирования полез уже

Pavel
25.12.2018
14:36:09
Надо садиться и писать свое

На D

свое кеш хранилище, свой пхп с генериками и jit.

Dmitry
25.12.2018
14:36:40
лучше скажите, у кого деплой пхп без контейнеров, как копии переключаете?

Pavel
25.12.2018
14:37:15
лучше скажите, у кого деплой пхп без контейнеров, как копии переключаете?
У нас когда так было, то капистрано после деплоя перебрасывал симлинк на исходники и перезагружал nginx

Dmitry
25.12.2018
14:38:32
симинк у нас проблемный, приходится сбрасывать опкодкеш.... между переключением симлинка и сбросом опкеша пролезает неконсистентность... или что-то не то настроили...

Pavel
25.12.2018
14:39:32
По идее не должно, там же ключи кеша привязаны к пути файла в ФС? Или не помню уже

Google
Pavel
25.12.2018
14:39:37
Логично было бы что да.

Ну или к хешу содержимого исходника хотя бы

Dmitry
25.12.2018
14:40:49
не, к хешу там нет точго, к таймстампу но если в кеше реалпаф, то все ок - старая директория же остается на диске ?

Pavel
25.12.2018
14:41:17
Ну так да, старая остается, а новая директория уже дает новый ключ кеша, и все должно быть консистентно

новый опкеш генерируется по мере работы нового кода, старый постепенно вытесняется.

Скайнет
25.12.2018
14:42:06
Я подозреваю что можно несколько редисов запустить
А когда упрёмся в память сервера, то что?)

Pavel
25.12.2018
14:42:12
Хотя я помню мы тоже зачем то сбрасывали опкеш, хачем если это не нужно делать по идее

А когда упрёмся в память сервера, то что?)
Тогда только остается мемкеш выкидывать, он не выживет в таких условиях

Скайнет
25.12.2018
14:46:06
По идее не должно, там же ключи кеша привязаны к пути файла в ФС? Или не помню уже
Там есть одна настроечка у php, когда вместо путей, привязываются к именам файлов.

Admin
ERROR: S client not available

Pavel
25.12.2018
14:46:20
Такое не нужно

И какой профит это дает вообще?

Скайнет
25.12.2018
14:46:50
не, к хешу там нет точго, к таймстампу но если в кеше реалпаф, то все ок - старая директория же остается на диске ?
Не к таймштампу, можно вообще это отключить, но тогда придётся вручную сбрасывать оп-кеш.

Тогда только остается мемкеш выкидывать, он не выживет в таких условиях
Чего это? Мемкеш умеет размазывать свои ключи по куче серверов.

И какой профит это дает вообще?
Никакого, но этом может быть причиной того трабла у человека.

Pavel
25.12.2018
14:48:41
Чего это? Мемкеш умеет размазывать свои ключи по куче серверов.
Redis Cluster provides a way to run a Redis installation where data is automatically sharded across multiple Redis nodes.

Короче, я не знаю ни одной фичи которая была бы в мемкеше но не в редисе

А вот наоборот, в редисе куча фич

Скайнет
25.12.2018
14:49:12
Redis Cluster provides a way to run a Redis installation where data is automatically sharded across multiple Redis nodes.
т.е. его уже научили? Я когда его в последний раз смотрел, он умел только на одной железке жить...

Pavel
25.12.2018
14:49:13
и даже транзакционный lua

Google
Скайнет
25.12.2018
14:49:29
А вот наоборот, в редисе куча фич
Скорость, её нет в редисе)

Pavel
25.12.2018
14:49:30
и пубсуб, и hloglog

Скорость, её нет в редисе)
Это неверно. Скорость такая же +-

Ну может на 10% медленнее

Однако твой алгоритм очистки тегированных ключей может быть сам медленнее на порядок из-за перебора всех ключей

Скайнет
25.12.2018
14:51:20
Это неверно. Скорость такая же +-
Не такая же, мемкеш быстрее в разы, иногда в десять раз.

Pavel
25.12.2018
14:52:47
Ни. Можыд. Быт.

Есть хоть один бенчмарк это подтверждающий?

Adel
25.12.2018
14:54:35
ему не нужны бенчмарки. не нужно подтверждение своих слов. он же чиновник. если он сказал - значит правда.

sergey
25.12.2018
14:59:07
как редис может быть быстрее или медленнее мемкеша на порядки

привет всем )

Dmitry
25.12.2018
15:04:05
fpm...

dypa
25.12.2018
15:04:32
fpm...
а как сбрасываете?

fpm имеет более 1 child процесса?

Dmitry
25.12.2018
15:06:10
ну вот стреляет... может просто из-за нагрузки... да скриптиком сбрасываем... оно сбрасывается то норм, но между переключением линка и сбросом все-равно лаг то остается

dypa
25.12.2018
15:10:32
ну вот стреляет... может просто из-за нагрузки... да скриптиком сбрасываем... оно сбрасывается то норм, но между переключением линка и сбросом все-равно лаг то остается
давай отвечать да/нет, потому что очень похоже на одну известную проблему :) pm.max_children > 1? используется opcache_reset? скрипт запускается как http://some/url.php?

Dmitry
25.12.2018
15:11:01
ща, ребутнусь...

Roger
25.12.2018
15:16:54
народ, кто то ботов писал под телегу?

Страница 736 из 956