Как создать tmpfs для временных файлов mysql?

12
Evas EvaSystems
На сайте с 31.05.2012
Offline
116
#11
увеличение параметра tmp_table_size не снижает % временных таблиц на диске

Временные таблички создаются на диске если не хватает места выделенного этими директивами. Коль у вас wp, установите кеширующие плагины для страничек и базы.

Системный администратор Linux. Настройка, сопровождение и оптимизация серверов. Отзывы - searchengines.guru/ru/forum/1017473
MB
На сайте с 24.02.2009
Offline
181
#12
Evas:
Временные таблички создаются на диске если не хватает места выделенного этими директивами. Коль у вас wp, установите кеширующие плагины для страничек и базы.

из документации: если в таблицах используются поля типов TEXT (TEXT, TINYTEXT, MEDIUMTEXT …) или BLOB, то таблица не может быть размещена в памяти, а только на диске.

из кеширующих плагинов hyper-cache стоит, помогает, но только при повторном обращении к странице, сайт довольно часто обновляется, 3-4 раза в сутки, посещалка 9-10к уников, поэтому кеш после обновлений сбрасывается, естественно эффективности мало от него.

Evas EvaSystems
На сайте с 31.05.2012
Offline
116
#13

Хм, действительно так и есть... По поводу кеша - SJ Object Cache подключите с

использованием apc|xcache|memcached (по вкусу) и кеширование в оперативку, а также DB Cache

Reloaded + Fix. Если имеется свободная оперативка попробуйте сделать memlock у мускуля. Ну а

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

громоздких запросов. Если же для этих плагинов чего-то требуется добавить в бд, то скорее всего

индексы там расставлены не корректно. Включите slow лог у mysql, а также включите логирование

запросов не использующих индексы. Тема конечно не об этом, но это поможет улучшить производительность.

А так, да, вам бы перейти на выделенный сервер с шустрыми дисками и всё это дело протюнить по полной.

Den73
На сайте с 26.06.2010
Offline
523
#14
Mister_Black:
из документации: если в таблицах используются поля типов TEXT (TEXT, TINYTEXT, MEDIUMTEXT …) или BLOB, то таблица не может быть размещена в памяти, а только на диске.
из кеширующих плагинов hyper-cache стоит, помогает, но только при повторном обращении к странице, сайт довольно часто обновляется, 3-4 раза в сутки, посещалка 9-10к уников, поэтому кеш после обновлений сбрасывается, естественно эффективности мало от него.

wp можно в nginx по хорошему кэшировать (настраивается довольна таки просто), hyper-cache зло, мало того что оно криво состряпано (ломается сайт при переносе) так еще и увеличивает время генерации странички.

DB Cache Reloaded и WPLANG Lite найс)

MB
На сайте с 24.02.2009
Offline
181
#15
Evas:
Хм, действительно так и есть... По поводу кеша - SJ Object Cache подключите с
использованием apc|xcache|memcached (по вкусу) и кеширование в оперативку, а также DB Cache
Reloaded + Fix. Если имеется свободная оперативка попробуйте сделать memlock у мускуля. Ну а
вообще, если используете сторонние плагины для вп - оптимизируйте их код, уходите от сложных и
громоздких запросов. Если же для этих плагинов чего-то требуется добавить в бд, то скорее всего
индексы там расставлены не корректно. Включите slow лог у mysql, а также включите логирование
запросов не использующих индексы. Тема конечно не об этом, но это поможет улучшить производительность.
А так, да, вам бы перейти на выделенный сервер с шустрыми дисками и всё это дело протюнить по полной.

из громоздких запросов там, самый тормоз вот

SELECT SQL_CALC_FOUND_ROWS wp_posts . *

FROM wp_posts
INNER JOIN wp_term_relationships ON ( wp_posts.ID = wp_term_relationships.object_id )
INNER JOIN wp_term_taxonomy ON ( wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id )
WHERE 1 =1
AND wp_term_taxonomy.taxonomy = 'category'
AND wp_term_taxonomy.term_id
IN (
'49'
)
AND wp_posts.post_type = 'post'
AND (
wp_posts.post_status = 'publish'
)
GROUP BY wp_posts.ID
ORDER BY wp_posts.post_date DESC
LIMIT 24000 , 10

в конфиг my.cnf пытался добавить memlock но он не срабатывает, в переменных по прежнему locked in memory OFF

Den73:
wp можно в nginx по хорошему кэшировать (настраивается довольна таки просто), hyper-cache зло, мало того что оно криво состряпано (ломается сайт при переносе) так еще и увеличивает время генерации странички.

DB Cache Reloaded и WPLANG Lite найс)

можно поподробнее, как nginx кешировать?

конфиг nginx

Evas EvaSystems
На сайте с 31.05.2012
Offline
116
#16
как nginx кешировать

Он имеет лишь файловый кеш, если бы могли создать tmpfs - ладно.

А так, я уже посоветовал SJ Object Cache с использованием например xcache(умеет кешировать в оперативку)

в конфиг my.cnf пытался добавить memlock но он не срабатывает

А куда конкретно пытались добавить?

MB
На сайте с 24.02.2009
Offline
181
#17
Evas:
Он имеет лишь файловый кеш, если бы могли создать tmpfs - ладно.
А так, я уже посоветовал SJ Object Cache с использованием например xcache(умеет кешировать в оперативку)


А куда конкретно пытались добавить?

Попробую SJ Object Cache у меня как раз xcache стоит.

надеюсь он может совместно с hyper-cache работать или его придётся отключать?

Evas:

А куда конкретно пытались добавить?

в секцию [mysqld]

port = 3306

socket = /tmp/mysql.sock

skip-locking

skip-innodb

memlock

query_cache_type = 1

query_cache_limit = 2M

query_cache_size = 32M

Evas EvaSystems
На сайте с 31.05.2012
Offline
116
#18

Совместно с hyper-cache не пробовал, лишь с Super Cache.

По поводу мемлок - всё верно, должно работать.

MB
На сайте с 24.02.2009
Offline
181
#19
Evas:
Совместно с hyper-cache не пробовал, лишь с Super Cache.
По поводу мемлок - всё верно, должно работать.

отключил сейчас hyper-cache и нагрузка LA 0.14 0.13 0.12 стала меньше, с гипер-кешем было 0.50 0.30 0.25 похоже действительно генерация страничек в кеш много ресурсов жрёт, но без html кеша тоже никак, он спасает при обновлении сайта.

MB
На сайте с 24.02.2009
Offline
181
#20

sj_object_cache+xcache помог, действительно лучшее решение для WP.

12

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