Как рассчитать раcпределение оперативной памяти для веб-сервера?
Дано: VPS с 4Гб оперативки (можно взять и 8). Ubuntu 18.04, PHP7.3, MariaDB, магазин на Wordpress/Woocommerce, на котором приходится держать довольно много плагинов. Nginx + php-fpm.
Сколько оперативки отдать PHP? Сколько Мускулу? Самому вордпрессу можно тоже задать постоянный и пиковый размер оперативки — сколько выделить?
База магазина небольшая, около 85 мегов, но запросов довольно много, в админке может доходить до 700-800. Максимальная нагрузка обычна приходится на PHP.
Moor, ну пхп фпм особо сильно не ограничишь , ограничния для мускула тоже так себе
нгинкс слава богу в таких конфигах почти ничего не ест
дайте сколько надо им под запросы , память глобально вы им не ограничите, я думал вы там докером хотите хитро нарезать или в виртуалки
а так я порежу память сервера через конфиги это фигня полная
Базе чем больше памяти - тем лучше. Веб-серверу - по остаточному принципу, РНР - чтобы хватало на исполнение всех скриптов при рассчётной посещаемости.
Если база маленькая, то памяти много не надо.
Думаю 1гб на VPS хватит, для бд хватит 300мегов, на вырост можно 500.
Узкое место может быть в количестве ядер. Надо хотя бы 2, лучше 4.
Под cache php тоже хватит 300.
PS. Главное ИМХО тут не мегабайты, а настройка.
Меняйте, тестируйте, делайте выводы. Тестовых платформ навалом, начиная от ab (apache2utils) заканчивая яндекс танком.
Я этими экспериментами прошлый сервер завалил :) Потому и спрашиваю. Особенно это касается правильной настройки конфига базы, там множество параметров, которые я не умею увязывать между собой.
На своем компьютере создайте и настройте vps, перенесите бд с файлами, тестируйте сколько угодно.
Как я уже сказал для БД в 85 мегабайт хватит 300мб под бд, можно сделать с запасом.
Вы должны для определить слабое место на сервере, я не думаю, что это размер оперативной памяти.
Сколько у Вас ядер процессора?
логично, что 4 ядра должны справится, раз 2 не могут )
плохо, что Вам навязывают оперативку больше чем надо, наверно и жесткий раз в 10 больше, чем нужно? )
ИМХО, идеально для Вас 4 ядра и 1 Гб оперативки
дальше пробуйте отказаться от большей части плагинов, подключайте/отключайте - тестируйте кто из них больше всего жрет ресурсов/процессорного времени
Сейчас 80 гигов. Сайты у меня занимают 9 гигов. Главное, что квоты трафика за глаза хватает, а харды и правда очень быстрые.
С плагинами беда. Я выключил все-все ненужное, но нужное — оно уже позарез как нужно, не отказаться. Ну и соответственно в админке по 700-800 запросов к базе валит. А что самое смешное — Redis запросы уменьшает, а рендер только больше тормозит. Выключил.
Сейчас удвоил все основные параметры использования памяти MySQL — админка сразу летает.
Вопрос решен условно. Админка теперь не тормозит, работает прилично. Насколько это сбалансированное решение — не знаю. Поставлю New Relic, буду мониторить. На старом сервере самую большую нагрузку делал PHP, хотя ему было отдано до 4Гб. Время отклика сервера — не знаю, что с этим делать, долго. Главная грузится из Лондона 4-5 сек, я в Европе. Что касается переписывания плагинов...
Список плагинов
Redux Framework
ACF Content Analysis for Yoast SEO
Admin Menu Editor
Advanced Custom Fields
ATUM Inventory Management for WooCommerce
iThemes Security
Booster Plus for WooCommerce
Cache External Scripts
Webcraftic Clearfy - плагин оптимизации для Wordpress
CMB2
Contact Form 7 Honeypot
Contact Form 7 Shortcode Enabler
Contact Form 7
Уведомление о куки
WooCommerce Coupon Generator
Duplicate Page
Google Tag Manager for Wordpress
Enhanced E-commerce for Woocommerce store
XStore Core
Facebook for WooCommerce
Finteza Analytics
Flamingo
Health Check & Troubleshooting
Heartbeat Control
WPBakery Page Builder
Loco Translate
Mailchimp for WooCommerce
MailChimp для WordPress
Manage Notification E-mails
Market Exporter
Massive Addons for WPBakery Page Builder
Newsletter
Order / Coupon / Subscription Export Import Plugin for WooCommerce (BASIC)
PHP Code Widget
Popup Maker
Post Type Switcher
Product GTIN (EAN, UPC, ISBN) for WooCommerce
Recently Registered
Redirection
Redis объектный кэш
Regenerate Thumbnails
Relevanssi
Smart WooCommerce Search
SSL Insecure Content Fixer
Swift Performance Lite
Swiper Slider and Carousel
User Role Editor
Visual Term Description Editor
WooCommerce Waitlist Premium
Woocommerce Customers Order History
Advanced Order Export For WooCommerce
WooCommerce Product Attachment
Abandoned Cart Lite for WooCommerce
WooCommerce Extended Coupon Features FREE
Woocommerce E-Abi Postoffice plugin
WooCommerce PDF Invoices & Packing Slips
WOOF - WooCommerce Products Filter
E-Abi Woocommerce Omniva Autosend method plugin
E-Abi Omniva Shipping method plugin
Woocommerce upcoming Products
WooCommerce
Yoast SEO
WP Review Slider
WP Mail Logging
WP Mail SMTP
WP-Optimize
WP Rocket
WP Sitemap Page
Custom Product Tabs for WooCommerce
YITH Pre-Order for WooCommerce
YITH WooCommerce Gift Cards
Несколько из них скоро канут в небытие, но переписывать тут — очень долгая и чрезвычайно дорогая песня.
Не понял, Лондон не Европа?
Если сервер размещен, там же где клиенты, то все гуд.
Смотрите: время генерации страницы, вес страницы, пинг до сервера.
По плагинам жесть конечно. Я не корректно выразился, нужно не плагины переписывать, а функционал плагина переносить в тему сайта. Ну хотя по сути, это и есть переписывание )
Если не хотите оптимизировать сайт, увеличивайте ресурсы сервера.
PS. Столько плагинов, наверно красота на сайте? ))
Подавляющая часть плагинов — для функционала магазина и админки, плюс оптимизация. С темой шел редактор WP Bakery + Massive Addons – это я отключу, когда перепишу все записи с его участием на Gutenberg, проверил, они работают шустрее.
Сервер раньше был на 8 Гб и 4 ядра, а работал медленнее. Вчера с 5 раза мигрировал на Ubuntu 18.04 + HestiaCP, выравниваю полёт :)