Mister_Black

Рейтинг
185
Регистрация
24.02.2009

Liveinternet заблокировал роскомнадзор, по крайней мере у меня (пров Ростелеком) Li заблокирован.

Maxim-KL:
Соответственно контента на страничках почти нет и потому он и не индексется.

контент на страничках есть и он индексировался до 20х чисел марта нормально, а с апреля нет.

bing, yahoo и даже yandex нормально индексируют посты, проблемы только с гуглом.

завтра 50 покажет, а может и 49

Jaf4:
Я думаю, что доллар упадет до 50р в августе-сентябре. В это же время примерно евро упадет ниже доллара.

он уже завтра до 50 упадёт, точнее рубль укрепится до 50, сейчас на межбанке 51.9

Yuriy1983:
Это все затишье перед бурей будет 100 р за доллар не сомневайтесь

не будет по 100 это 100%, даже по 60 уже вероятно не будет, это я говорю как оставшийся с 5 кусками зелени на вебмани 😡

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

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

Возникла такая проблемка, ночью когда самая минимальная нагрузка, начинают виснуть запросы использующие Using temporary, Using filesort

например:

SELECT wp_posts.ID 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 ('5124') 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 60, 10;

# Query_time: 23.347769 Lock_time: 0.000065 Rows_sent: 10 Rows_examined: 12216

SELECT wp_posts.ID FROM wp_posts WHERE 1=1 AND ((wp_posts.post_title LIKE '%blah%') AND (wp_posts.post_title LIKE '%blah%') OR (wp_posts.post_title LIKE '%blah blah%')) AND (wp_posts.post_status = 'publish') ORDER BY wp_posts.post_date DESC LIMIT 10, 10;

# Query_time: 12.691927 Lock_time: 0.000079 Rows_sent: 10 Rows_examined: 338874

Это началось после того как я убрал нагрузку изменив тот запрос, если вернуть нагрузку, то всё нормально, если можно так сказать :)

Что это может быть?

Вот такой получился скрипт, возможно ещё какие то косяки вылезут, но это ужа завтра разберусь, главное что нагрузку снял и кольцевую перелинковку восстановил


<?php function show_previous_posts_from_category ($the_post_id, $the_category_id = 0, $post_num) {
$num = 0;
global $wpdb;
$sql = "SELECT p.ID, post_date, post_content, post_title, post_name
FROM $wpdb->posts p
WHERE 1=1 AND (p.ID IN(
SELECT object_id
FROM $wpdb->term_relationships
WHERE term_taxonomy_id = '$the_category_id'
))
AND p.ID < '$the_post_id'
ORDER BY p.ID DESC
LIMIT $post_num";
$result = $wpdb->get_results($sql, OBJECT);
global $post;
foreach ($result as $post) {
setup_postdata($post);
?>
<div class="related"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img src="<?php echo catch_that_image() ?>" alt="<?php the_title(); ?>" height="115" width="150"></a><b><?php the_title(); ?></b></div>
<?php
$num++;
}
if ( $num < $post_num || !$result ) {
$need_more = $post_num-$num;
$sql = "SELECT p.ID, post_date, post_content, post_title, post_name
FROM $wpdb->posts p
WHERE 1=1 AND (p.ID IN(
SELECT object_id
FROM $wpdb->term_relationships
WHERE term_taxonomy_id = '$the_category_id'
))
AND p.ID > '$the_post_id'
ORDER BY p.ID DESC
LIMIT $need_more";
$more_posts = $wpdb->get_results($sql, OBJECT);
foreach ($more_posts as $post){
setup_postdata($post);
?>
<div class="related"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img src="<?php echo catch_that_image() ?>" alt="<?php the_title(); ?>" height="115" width="150"></a><b><?php the_title(); ?></b></div>
<?php }}} ?>
<?php $the_cat = get_the_category(); $the_cat_id = $the_cat[0]->term_taxonomy_id; show_previous_posts_from_category($post->ID, $the_cat_id, 4); wp_reset_query(); ?>

я тут переписал немного запрос

SELECT SQL_NO_CACHE p.ID, post_date, post_content, post_title, post_name

FROM wp_posts p

WHERE 1=1 AND ( p.ID IN (

SELECT object_id

FROM wp_term_relationships

WHERE term_taxonomy_id IN ('9')

) )

AND p.ID < '2756199'

ORDER BY p.ID DESC

LIMIT 4

запрос занял 0.0005 сек

id select_type table type possible_keys key key_len ref rows Extra

1 PRIMARY p range PRIMARY PRIMARY 3 NULL 328324 Using where

2 DEPENDENT SUBQUERY wp_term_relationships unique_subquery PRIMARY,term_taxonomy_id PRIMARY 5 func,const 1 Using index; Using where

единственное, что потерялась кольцевая перелинковка, то есть когда доходит до первого поста категории, раньше показывало последние посты, теперь для первых постов нет ссылок, вот думаю, что я упустил?

netwind:
Mister_Black, настройки нормальные. Что вы к ним прикопались ?
Тут нужно погружение в этот плагин. Разобраться, что там за данные. Доступ к ним для экспериментов. Выяснить на какие компромиссы вы готовы пойти. Все обсуждать и согласовывать с вами. Кто это все спонсировать будет ?

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


А это полезный совет от mysqltuner. Стоит включить с порогом в районе 1 секунды чтобы определять запросы, на которые нужно обратить внимание в первую очередь.

like ещё притормаживает иногда, но я это решил ограничив поиск то title, если отключить скрипт предыдущих постов из категории, то всё летает, а при включенном тормозит и растёт нагрузка, может есть смысл разбить его на 2 запроса, чтобы один запрос делал выборку по id, а второй запрос уже брал остальную информацию из выделенных по id записей в данном случае 4 записи, у меня по такому принципу сделана выборка категорий, один запрос берёт id ограниченные 10 постами на странице, а второй запрос вытягивает остальное уже из этих 10 не перетряхивая все посты в категории, раньше тоже жутко тормозило, вроде эту проблему решили аж только в 4 версии WP, она возникала на блогах с большим количеством постов, более 10к.

Надо подумать как теперь этот метод использовать в этом скрипте.

Всего: 720