Как увеличить кешируемую информацию в Memcached

Alex

Подключил на хостинге сервис Memcached для ускорения сайта.

Сервис нормально встал, благодаря подробной инструкции В этом блоге.

Проблема в том, что стоит какое-то ограничение на помещение в Memcached данных (см. картинку ниже).

Как использовать сервис Memcached на 100%?

Или так и должно быть?




10 февраля 2016
  • А какое значение параметра -m задан у демона memcached?

  • Вам в этот форум нужно.

  • Alex 11 февраля 2016 00:53

    Вот ответ ТП.

    Здравствуйте, моя коллега сообщает верные данные. 128М доступно, сайт использует 20М, вы можете запросить разработчика переписать логикку кеширования сайта таким образом, чтобы он хранил в кеше больше данных, чем делает это сейчас. Ключ -m задан максимально количество памяти для memcached. Вы можете проверить самостоятельно проверить данную цифру, подключившись к memcached и введя команду stats:

    al-:~ [127] $ telnet localhost 11211
    Trying ::1...
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    stats
    STAT pid 7
    STAT uptime 211877
    STAT time 1455150464
    STAT version 1.4.14 (Ubuntu)
    STAT libevent 2.0.21-stable
    STAT pointer_size 64
    STAT rusage_user 8.746665
    STAT rusage_system 45.213328
    STAT curr_connections 7
    STAT total_connections 69704
    STAT connection_structures 15
    STAT reserved_fds 10
    STAT cmd_get 215987
    STAT cmd_set 2166
    STAT cmd_flush 0
    STAT cmd_touch 0
    STAT get_hits 200010
    STAT get_misses 15977
    STAT delete_misses 3388
    STAT delete_hits 511
    STAT incr_misses 0
    STAT incr_hits 0
    STAT decr_misses 0
    STAT decr_hits 0
    STAT cas_misses 0
    STAT cas_hits 0
    STAT cas_badval 0
    STAT touch_hits 0
    STAT touch_misses 0
    STAT auth_cmds 0
    STAT auth_errors 0
    STAT bytes_read 53802541
    STAT bytes_written 21226411160
    STAT limit_maxbytes 134217728
    STAT accepting_conns 1
    STAT listen_disabled_num 0
    STAT threads 2
    STAT conn_yields 0
    STAT hash_power_level 16
    STAT hash_bytes 524288
    STAT hash_is_expanding 0
    STAT expired_unfetched 9
    STAT evicted_unfetched 0
    STAT bytes 555273
    STAT curr_items 19
    STAT total_items 2166
    STAT evictions 0
    STAT reclaimed 15
    END
    quit
    Connection closed by foreign host.

    Взять значение в байтах в строке limit_maxbytes и перевести его в мегабайты, поделив на (1024*1024) получи значение памяти, выделенной вам в мегабайтах
    al-:~ [1] $ echo "scale=2; 134217728/(1024*1024)" | bc
    128.00

    Вижу цифру 128.

  • Ну значит именно столько кэша у вас и есть на текущий момент(~20-25Мб). Там же не картинки, а текстовые файлы по сути(шаблоны, результат запросов к бд, конфиги и т.д.).

  • Alex 11 февраля 2016 04:22

    Странно.

    Шаблоны, результат запросов к бд, конфиги должны накапливаться в кэше.

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

    А тут как будто ограничение стоит, причем со стороны движка.

  • Alex 18 марта 2016 11:52

    Нет решения?

  • Шаблоны? Нет. Скомплированные шаблоны смарти в файлах хранит и нчего про memcache не знает. Результаты запросов к БД? Хранит кое, что, что редко меняется. Структуру категорий, насколько помню. Ну, конечно не данные по товарам.

    Часть кода использует файловый кэш просто потому, что он точно доступен всегда в отличии от. Я раньше встраивал в плагины определение наличия memcache/xcache, но поскольку оно в единичных случаях включено — забил на это дело и использую файловый, который есть всегда.

  • Alex 18 марта 2016 13:02

    А полностью кэш сайта нельзя в memcached положить?

  • Привет. Тоже подключил на том же хостинге memcached. Посмотрю завтра сколько накопит.

  • Alex 18 марта 2016 13:16

    У меня замерло 27, 34 Мб, и не используется больше, хотя есть возможность расширить до 1024 Мб.

    Логичнее было бы все оперативное хранить в ОЗУ.

    Загрузка страниц увеличится значительно.

  • Подключил, и что-то больше beget не открывается... ))) Не из-за меня ли)))

    Но мой сайт работает: время ответа увеличилось значительно, страницы теперь загружаются на много быстрее. Жалею, что раньше не сделал.

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

  • У меня остановилось на 21 мегабайте. Дальше не идет.

  • Alex 19 марта 2016 05:17

    Вот и я про тоже.

    Почему нельзя сделать так, чтобы весь кэш хранился в ОЗУ?

    Это ведь правильно!

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

    Именно про это моя тема.

  • Андрей Бронин 25 марта 2016 15:12

    При использовании KVM SSD сервера имени ли смысл вообще использовать мемкэш? Надо бы потестить, но по субъективным ощущениям и так все быстро работает

  • Memcache/MemcacheD полезен если под кэш у вас выделен отдельный сервер, кэширующий данные с нескольких хостов.

    Если кэш у вас на том же хосте, что и сайт, то можно посмотреть xCache например. Он не только данные, но и opcode кэшировать умеет. На shared хостингах он редко бывает, но если у вас VPS — вполне оправданно его поставить и выделить, скажем, 32M под данные и 256M под opcode

    P.S. Адаптер для кэширования данных в xCache в Webasyst есть, я это точно знаю. ;)

  • Alex 30 марта 2016 11:50

    У меня Memcache расширяется до 1024 Мб.

    Сейчас используется не более 27 Мб.

    Как сделать, чтобы Memcache больше задействовался?

    И данные и opcode кэшировались.

  • memcache/memcached не умеет opcode кэшировать. только данные. что движок сочтет нужным кэшировать, то и будет. В настоящий момент кэшируются в магазине категории, валюты, списки и блоки. И некоторые мои плагины доставки данные от удаленных серверов кэшируют. Больше ничего вам не удастся закэшировать

  • Alex 2 апреля 2016 09:33

    Сергей, большое спасибо за ответ.

    В общем мой пост про это.

    Как можно сделать использование кеширования более активным с помощью движка?

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

    Ведь, если хостинг или сервер позволяет, почему бы движку не быть более гибким?

    А что кэшировать найдется же?



Чтобы добавить комментарий, зарегистрируйтесь или войдите