0x53

0x53
Рейтинг
31
Регистрация
16.11.2007
bimcom:
Вы хоть в следующий раз когда пишите - напоминайте по какой теме :) - а то еслибы ваш ник не запомнил - и не сообразил о чем вы - то принял бы за спам :)

посмотрел сайт там тяжелые запросы просто не могут быть, а всплески нагрузки связаны скорее всего:
1. карта сайта генерируется динамически - настройте кэш или отдавайте статикой.
2. просто много всяких сортировок - и по категориям и по страницам - проверьте наличие индекса на категориях.
3. если все выше указанное не поможет - только кэширование, ну или дотошное изучение запросов и их оптимизация.

Спасибо что посмотрели.

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

2. Индексы уже во всех выборках проставлены.

3. Думаю стоит добавить кеширование, но ведь двиг полностью самописный... потому и кеширование надо будет самому прикручивать. Вот всё не могу разобраться как лучше отдавать заголовки и сохранять кеш. Кеш страниц наверно просто в текстовые файлы в отдельную папку, а вот заголовки это уже сложнее... я о заголовке 304 для поисковых ботов.

Jaf4:
/ru/forum/277383
Зы что за движок? Может стоит кэшировать?

Двиг полностью самописный. Про кеширование написано чуть выше.

bimcom:
Думаю это не может оказывать значительного влияния т.к. со слов ТС - выборки только по ID новостей, разве колво записей, хотя оно не велико.
Скорее всего дополнительную нагрузку создают дополнительно выводимые новости - типа предпросмотра (вывод 10-20 таких новостей в 10-20 раз повышают кол-во запросов) или выборка новостей типа новости за этот-же день, т.к. datestamp не зря-же поле, кстати что это за поле? а то смущает что вы о нем отозвались

если вы не описались - то это не верно, нужно именно в свойствах поля в базе ставить что это timestamp, а не вручную в инт поле заносить дату, как полагаю ещё и в UNIX формате (ну а если всетаки дату туда нужно вручную вставлять, то выставить datetime).
Скиньте сайт - так можно будет более наглядно оценить логику вывода информации, а следовательно и тяжелые запросы определить.
PS.
У самого есть сайт, на котором 300 000 записей, так от ботов, по ночам, когда каждый из них делает по 5-10 запросов в секунду (иногда как яндекс с рамблером накинутся+ всякий левак - в итоге в среднем 15-20 запросов в секунду) так VPS (у которого лимит 900Мгц) грузится на 2-3% (время генерации страниц 0,02 сек)

Отписал в ЛС

sabotage:
1. сколько записей в таблице?
2. покажите структуру

1. Строк примерно 185,473 и постепенно становится больше.

2. Ячейки news_id и new_datestamp в int(11), а остальные в text... думаю varchar меньше будет напрягать... так ?

Я уже говорил что в MySQL плохо разбираюсь.

Ladycharm:
1. Включить поддержку кэширования на стороне клиента - корректно отдавать LastModified и обрабатывать запросы IfModofiedSince, отдавая "304 Not Modified" для неизменившихся страниц.

2. Сделать кэширование на стороне сервера - nginx сорее всего на поставить, но сделать кэш страниц в html и отдавать неизмененные страницы из кэша средствами php - возможно.

PS: Проверьте бота Яндекса по IP - возможно сайт парсят, используя ЮзерАгентов ботов Яндекса.

1. Вот с этим поэкспериментирую. Если есть варианты кода отпишите пожалуйста, а пока поспрашиваю у гугла. ;)

2. Над кешированием уже пару дней думаю как реализовать получше. Т.к. двиг полностью самописный и кеширование тоже надо будет самому реализовывать.

3. Айпи ботов:

Yandex(77.88.28.246), Google(66.249.65.87), Slurp(67.195.111.44), Aport(194.67.18.248)

Yandex недавно угомонился, теперь Aport усиленно грузит страницы. Все ограничения для ботов убраны.

Скрин за день:

Нагрузка сильно уменьшилась, но надо дальше работать в этом направлении.

crucified:
Думаю проблема была в этом, так как нагрузка на базу очень сильная без индекса. Если полей более 10 000 - то запросы могут выполняться более чем за 10 секунд

Строк в таблице сейчас 185,473 и цифра постепенно растёт.

bimcom:
надеюсь по полю news_id в базе индекс проставлен?

Нет, индекс не был установлен. Установил индекс, сейчас займусь прописыванием конкретных ячеек для выборки из бд.

После теста отпишусь.

0x53 добавил 20.02.2010 в 09:08

В общем поменял... вот как изменился график загрузки:

Начиная где-то с половины восьмого и далее... Ближе к вечеру выгружу скриншот за день. Ради эксперимента еще убрал ограничения на индексирование страниц сайта.

semenov:
1. Бот не моментально тормозится
2. Ставьте еще больше

роботс покажите

Вот... robots.txt

User-agent: *
Crawl-delay: 10
Disallow:

User-agent: Yandex
Disallow:
Crawl-delay: 10
Host: имя.домен

Изменял я его сегодня утром.

Был я там, поставил 10 секунд задержку... а толку нет.

Отключили PrivacyProtect в саппорте PDR.

Onu:
0x53, будет даже лучше, если правильно применить http://devaka.ru/articles/hash-links

Полезная статья, спасибо за информацию.

The WishMaster:
Кто сказал? :D :D :D :D

Не так написал...

Желательно использовать только один h1 на странице. Не надо забывать отношение ПС на это.

Всего: 115