Большая база данных WordPress - PullRequest
0 голосов
/ 25 января 2019

Размер моей базы данных превышает 10 ГБ, и это замедляет работу сайта. Я хочу разделить его и разделить эти базы данных на выделенные серверы. Я использую MariaDB.

Как разделить базу данных WordPress?

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Можете ли вы проверить, что внутри БД, потому что, как обычно, 10 ГБ БД не очень обычно. Это очень необычно, если у вас нет огромного количества постов или комментариев. проверьте, какая таблица содержит больше места, и проверьте внутри таблицы.

Также проверьте таблицы wp_users и wp_comments, если занято наибольшее количество, тогда я уверен, что это спамерский эффект!

Просто проверьте пользователей и удалите спам-комментарии. Может быть, это не очень хорошее решение, так как размер БД слишком велик.

0 голосов
/ 25 января 2019

Взгляните на этот ответ по WPSE: https://wordpress.stackexchange.com/questions/2825/wordpress-sharding-which-multi-db-plugin-to-use

Тем не менее, большая база данных по своей природе не является плохой вещью.Что это плохо, однако это неоптимизированная база данных , раздутая база данных (многие плагины просто сбрасывают данные (часто это таблицы postmeta или options) и неоптимизированные запросы к базе данных .

Есть несколько плагинов для Оптимизации БД, которые я бы сначала посмотрел, используя их, или просто покопался в них вручную. Убедитесь, что таблица опций максимально проста, и сделайтеуверен, что все потерянные данные (например, мультимедийные изображения, которые больше не имеют родительского поста и нигде не ссылаются) были удалены. Я видел, что плагины оставляют внутри сотни мегабайт всех данных, кроме бесполезных данныхтаблица параметров. И когда она загружается при каждом запросе страницы, сайт переходит в состояние, похожее на патоку.

С чисто анекдотической точки зрения я сейчас работаю над рефакторингом медленного /раздутый сайт десятилетней давности. Он использовал тонну плагинов, база данных содержала тонны дублирующейся информации в многочисленных таблицах, было много мета запросов (которые НЕ индексируются и не обрабатываются ключами и, следовательно, невероятно медленно работают на больших сайтах), а в таблице параметров хранится множество бесполезных / устаревших параметров.

Новый сайт заполнен до краевсо 100% жизнеспособными тестовыми данными, и база данных сейчас находится на уровне 3 или 4 гигабайт.Дело в том, что мои таблицы оптимизированы, столбцы соответствующим образом проиндексированы, и у меня даже есть пользовательские реляционные таблицы записей, связывающие типы записей вместе.У меня там около 450 000 постов разных типов, и, используя простые запросы с классом $wpdb, он может просеивать и загружать десятки или сотни постов за доли секунды, не взрываяиспользование памяти.

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

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

Вот простой скриншот одного из моих запросов.Это страница, загружающая 200 пользовательских типов записей из таблицы с 450 000 записей в ней.Каждый пользовательский тип записи связан с 0-20 другими типами записей, и один даже связан с 1500 другими типами - и все же он загружается почти мгновенно, несмотря на то, что он еще не полностью оптимизирован.

Sample screenshot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...