Размещение /wa-cache/ в оперативной памяти
Озадачился я, еще чуть ускорить проекты на шоп-скрипте, для больших магазинов и решил попробовать разместить wa-cache в оперативной памяти, ее все равно у ВДС девать некуда, при правильных настройках пару гигабайт всегда найти можно.
В файле /etc/fstab - добавил такую строчку:
tmpfs /полный_путь/путь_до_сайта/wa-cache tmpfs size=2G 0 0
Чтобы все это работало и после перезагрузки системы. Проверил на трех проектах, идея рабочая, но с размером раздела в 2 Гб, может чуть многовато. Так то одни пруфы от такого решения, при замерах система, которая крутиться на NVMe - прирост составил 20-25% в скорости, снижается нагрузка с NVMe или SSD, а если HDD то прирост скорости, будет просто космическим.
Один из сайтов где это уже применено, новый проект lablamp.ru - сайт по освещению...
Хотелось бы +кармы, и экспертное мнение, что не так в таком подходе.
27 ответов
Имхо, бессмысленная затея.
Часто используемые файлы Linux и так хорошо кеширует в оперативе.
Уважаемый Nail, вы сами то поняли что написали? Как он может кэшировать, то что создается "на лету" в Smarty? Я просто удивляюсь, такому подходу, даешь народу готовое решение, уже проверенное, пишут гадости, для чего вы это делаете? Как в таком случае можно обмениваться нормальной полезной информацией?
Если вас что-то оскорбило - извиняюсь. Но где вы увидели про написание гадостей?
Если не ошибаюсь smarty компилирует готовые скрипты/шаблоны для исполнения в этой папке.
И они очень редко меняются - при сбросе кеша большая часть.
Ну держат там некоторые плагины еще свои данные.
Я просто такое же пробовал реализовывать несколько лет назад - на SSD/NVME дисках выигрыша от этого нет. Только на HDD имеет смысл, наверное.
Не заметил, у вас папка wa-cache под 2 гигабайта?!
Не многовато?
Не встречал размер этой папки больше 50 Мбайт.
Что там у вас кешируется в огромных масштабах? )
Извините сейчас разбираю один проект там + 100 гигов за 3 дня, эта папка растет как на дрожжах, файлы от Jde, Search_pro, и общий агрегатор доставок. Может у вас просто не было проектов, где 100 тысяч товаров и посещалка 1000-1500 уников в день?
Были.
Но там тяжелых плагинов используются по минимуму.
Нет там search pro и seo фильтров.
Скорее всего эти плагины и генерируют огромный кеш.
Но нужен ли кеш в таких объемах - сопоставимый с папкой эскизов изображений?
Надо бы разобраться все-таки - что генерируется в таких масштабах.
Вот и ответ на ваш вопрос: чтобы уверенно это использовать, надо гарантированно знать что кеш не вылезет за установленные рамки. Если есть вероятность что вылезет - всё приляжет.
Я бы такой гарантии не дал ни на одном проекте.
Memcache и Redis подобную задачу не решают?
Memcached только результаты php скриптов, если у кого то иначе, поделитесь настройками... , у меня есть только подобное решение для ВА.
Я на хостинге подключил услугу "memcached" и далее этот плагин https://www.webasyst.ru/store/... с настройками по умолчанию. всё работает.
и папка /wa-cache/ - пустая?
Произвел настройку, перезагрузил сервер. Изменений по скорости не увидел. Сервер на HDD. Можно как то протестировать (работает или нет)?
где вы в 23м году нашли сервер на HDD? Хорошо не на "скази"...
Собственно вот, https://firstvds.ru/storage-vd...
Зачем VDS Storage под производительный хостинг конфигурировать с лимитом в 2 CPU и 4 Гб памяти? Оно надо? Это же для других задач и тариф и сервер. Не надо смешивать одно с другим.
Такие тарифы есть, когда ещё в строю у компании остаются E5-2630v2 2013 года выпуска, куча мат.плат, корпусов и вагон с тележкой HDD SATA Raid. Это всё ещё в строю, но надо как-то конвертировать наличие железа в деньги. Вот и сдают под недорогие хранилища.
Работает тестовый проект. Нагружаем под 100%. Смотрим как себя ведет этот тариф на 200000 товарах. Что можно оптимизировать в настройках, в том числе нагрузку на mysql. Настраиваем Memcached и т.д. По объему места сейчас изображения занимают 100Gb. Посмотрим также вынос базы на отдельный тариф (более производительный).
Есс-но работает. Мы в свое время собирали под хостинг железки намного менее мощные, но то было в конце 90-х и начале 2000-х. Так что хостится на относительно современном Storage времен 2013 года вполне можно, но до определенного предела.
Когда можно взять пачку CPU, побольше памяти и более быструю дисковую подсистему, то почему бы и не взять?
Оптимально как раз выносить хранилище графики на storage, а БД и скрипты движка оставлять на быстром железе с меньшим дисковым объемом.
На совсем крупных проектах уже и БД отделяют.
Да, все верно видите. В планах дойти до 500000 товаров и вынос базы. Она как раз съедает все ресурсы процессора.
обращайтесь все расскажу покажу, есть огромный опыт, но советую начать с хостинга (VDS) таймвеба, там NVMe. Под совсем большие из дешевых отдельные дэдики, то можно и таймвеб, можно рассмотреть https://1dedic.ru/, на распродаже попадаются экземпляры, более менее цена / производительность. Но они какая то дочка от ФёстВДС, но и их и их дочку, рассматривать надо аккуратно, используют старое или б/у шное железо и очень часто попадается жесткие диски (SSD, NVMe) не отвечают той скорости что нужна. По заявкам колдуют чтото меняют по факту - тормоза, но все можно проверить!
Также по БД, если она лежит на том же носите что и сайт, очень выгодно при наличии оперативы, кинуть чтобы временные таблицы создавались в оперативке, настройки MySQL
Но также важен переход на InnoDB с добавкой индексов вручную по анализу логов медленных запросов.
для примера в таблице shop_product
это позволяет строить индекс по запросу URL ссылки сайта, и сильно ускорять запрос.
Но таких примеров, какие индексы нужны, много, четко позволяет определить анализ запросов, для этого у меня везде настроено ведение лога медленных запросов, которые выполняются более 1 сек.
только будете так добавлять в конфигурацию обратите внимание, чтобы это файл присутствовал и владелец его был база данных и соответствующие права на запись стояли, иначе можете получить отказ в старте БД.
Также иногда полезно, но включать более суток не рекомендую, анализ запросов, которые выполняются без индексов.
Но нужен тот же файл описанный выше
Извините, но у моих клиентов в основном 6-8 ядер 2,4-3.3, 16 гигов оперативы, и дискового в основном NVMe, 160-240Гб.
это файловое хранилище - большое и с малой нагрузкой. Для ИМ с 500К товаров нужны другие технологии.
lablamp.ru - это боевой проект? Или топик создан для seo ссылочки? Если боевой, то мне реально страшно за бизнес..
человек попросил, я установил сам сайт и настроил, что там не так? в плане работоспособности? Я знаю они его еще только запускают, они как раз ушли от фёствдс.
Ну пусть запускают. Бог, как говорится, в помощь. За счет производительного VDS вывезет как-нибудь. Тема дизайна хорошая, но работы с ней много будет, если хотите скорости с плагинами. Компрессию html, js, css включите, а то немного толстовато.
https://www.websiteplanet.com/...
А вы проверяли на сжатие или для красного словца написали?
Тестируйте лучше, пожалуйста. Вот как работает сжатие в реальности.
А вот как оно не работает.
И вот ещё в другом браузере.