Dram

Рейтинг
1114
Регистрация
28.06.2008

Это нужно для разовой операции, т.е. быстро в пределах одного запроса никак?

1. Разделить логи Nginx чтобы в один писались запросы поисковых ботов (не по юзер агенту, а по IP)

p.s. вот только не нужно холивара что они меняются. Уже три года юзаю, с ЕЖЕДНЕВНОЙ автоматической проверкой тех кто косит под ботов но таковыми не являются (обратным ДНС запросом). Так вот за 3 года я обновил подсети поисковых ботов раз 5 не более.

2. Второй лог куда идут все запросы, кроме поисковых ботов проверяем ПХП например, на предмет запрашивал ли данный IP - js или css.

Если к примеру сделал 5 запросов и ниразу не запросил статику - добавляем этот IP в бан лист, который инклюдим в главный конфиг Nginx

Можно их не банить а просто урезать лимиты там же в Nginx.

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

Лично я вот что заметил в этом году - раньше по куску текста я находил свои сайте в ТОП 10 (даже если текст растаскивали).

Сейчас же я нахожу страницу только если она... как бы сказать ... прокачена, генерирует трафик.

Такое впечатление что реально стали экономить на дисках под индекс сети.

hrach:
простым языком
inner - подразумевает, что условие должно выполняться всегда, т.е. каждой записи из

Спасибо, теперь понял!!!

ivan-lev, большое спасибо! Так же важно тут что АНД нужно было поднять к Лефту.

P.S.

Господа, как вы понимаете когда нужно использовать ЛЕФТ или Иннер, где про это понятно почитать?

Попробовал так. результат не изменился...

SELECT IF(pipls.rate > 0, pipls.rate + 300000000, IF(LENGTH(pipls.photo) > 0, 200000000 + pipls.rate, 10000000)) as `order_num`, ROUND(pipls.average, 1)
AS rate, pipls.comments, pipls.hits, pipls.photo, pipls.fullname, t4.description,
CONCAT_WS('-', pipls.id, pipls.alias) AS item_alias,
CONCAT_WS('-', t2.id, t2.alias) AS category_alias,
CONCAT_WS('-', t3.id, t3.alias) AS section_alias
FROM SD_pipls_items AS pipls
INNER JOIN SD_pipls_categories AS t2 ON pipls.category_id = t2.id
INNER JOIN SD_pipls_sections AS t3 ON pipls.section_id = t3.id

INNER JOIN SD_comments_items AS t4 ON pipls.id = t4.object_id or t4.object_id IS NULL

WHERE pipls.id IN (SELECT `pipl_id` FROM SD_pipls_specialisations_rel WHERE `specialisation_id` = 154)
AND pipls.section_id = 526
AND t4.object_group = 'com_pipls' or t4.object_group IS NULL
GROUP BY pipls.id
ORDER BY `order_num` desc, `fullname` asc

hrach, это было первое что я попробовал - результат запроса это не изменило. Изменение INNER на LEFT везде или только в моей правке не меняет результат.

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

Извиняюсь, действительно я протупил. Не локальная короче. Обычный ВПС

Всего: 6924