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 сек)
Ladycharm: 1. Включить поддержку кэширования на стороне клиента - корректно отдавать LastModified и обрабатывать запросы IfModofiedSince, отдавая "304 Not Modified" для неизменившихся страниц.
2. Сделать кэширование на стороне сервера - nginx сорее всего на поставить, но сделать кэш страниц в html и отдавать неизмененные страницы из кэша средствами php - возможно.
PS: Проверьте бота Яндекса по IP - возможно сайт парсят, используя ЮзерАгентов ботов Яндекса.
1. Вот с этим поэкспериментирую. Если есть варианты кода отпишите пожалуйста, а пока поспрашиваю у гугла. ;)
2. Над кешированием уже пару дней думаю как реализовать получше. Т.к. двиг полностью самописный и кеширование тоже надо будет самому реализовывать.
Yandex недавно угомонился, теперь Aport усиленно грузит страницы. Все ограничения для ботов убраны.
Скрин за день:
Нагрузка сильно уменьшилась, но надо дальше работать в этом направлении.
crucified: Думаю проблема была в этом, так как нагрузка на базу очень сильная без индекса. Если полей более 10 000 - то запросы могут выполняться более чем за 10 секунд
Строк в таблице сейчас 185,473 и цифра постепенно растёт.
bimcom: надеюсь по полю news_id в базе индекс проставлен?
Нет, индекс не был установлен. Установил индекс, сейчас займусь прописыванием конкретных ячеек для выборки из бд.
После теста отпишусь.
0x53 добавил 20.02.2010 в 09:08
В общем поменял... вот как изменился график загрузки:
Начиная где-то с половины восьмого и далее... Ближе к вечеру выгружу скриншот за день. Ради эксперимента еще убрал ограничения на индексирование страниц сайта.
Вы хоть в следующий раз когда пишите - напоминайте по какой теме :) - а то еслибы ваш ник не запомнил - и не сообразил о чем вы - то принял бы за спам :)
посмотрел сайт там тяжелые запросы просто не могут быть, а всплески нагрузки связаны скорее всего:
1. карта сайта генерируется динамически - настройте кэш или отдавайте статикой.
2. просто много всяких сортировок - и по категориям и по страницам - проверьте наличие индекса на категориях.
3. если все выше указанное не поможет - только кэширование, ну или дотошное изучение запросов и их оптимизация.
Спасибо что посмотрели.
1. Я в общем-то уже и сам выяснил какие конкретно скрипты создают большую нагрузку. Это именно динамическая карта сайта и вывод многостраничного списка последних просмотренных видео.
2. Индексы уже во всех выборках проставлены.
3. Думаю стоит добавить кеширование, но ведь двиг полностью самописный... потому и кеширование надо будет самому прикручивать. Вот всё не могу разобраться как лучше отдавать заголовки и сохранять кеш. Кеш страниц наверно просто в текстовые файлы в отдельную папку, а вот заголовки это уже сложнее... я о заголовке 304 для поисковых ботов.
/ru/forum/277383
Зы что за движок? Может стоит кэшировать?
Двиг полностью самописный. Про кеширование написано чуть выше.
Думаю это не может оказывать значительного влияния т.к. со слов ТС - выборки только по ID новостей, разве колво записей, хотя оно не велико.
Скорее всего дополнительную нагрузку создают дополнительно выводимые новости - типа предпросмотра (вывод 10-20 таких новостей в 10-20 раз повышают кол-во запросов) или выборка новостей типа новости за этот-же день, т.к. datestamp не зря-же поле, кстати что это за поле? а то смущает что вы о нем отозвались
если вы не описались - то это не верно, нужно именно в свойствах поля в базе ставить что это timestamp, а не вручную в инт поле заносить дату, как полагаю ещё и в UNIX формате (ну а если всетаки дату туда нужно вручную вставлять, то выставить datetime).
Скиньте сайт - так можно будет более наглядно оценить логику вывода информации, а следовательно и тяжелые запросы определить.
PS.
У самого есть сайт, на котором 300 000 записей, так от ботов, по ночам, когда каждый из них делает по 5-10 запросов в секунду (иногда как яндекс с рамблером накинутся+ всякий левак - в итоге в среднем 15-20 запросов в секунду) так VPS (у которого лимит 900Мгц) грузится на 2-3% (время генерации страниц 0,02 сек)
Отписал в ЛС
1. сколько записей в таблице?
2. покажите структуру
1. Строк примерно 185,473 и постепенно становится больше.
2. Ячейки news_id и new_datestamp в int(11), а остальные в text... думаю varchar меньше будет напрягать... так ?
Я уже говорил что в MySQL плохо разбираюсь.
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 усиленно грузит страницы. Все ограничения для ботов убраны.
Скрин за день:
Нагрузка сильно уменьшилась, но надо дальше работать в этом направлении.
Думаю проблема была в этом, так как нагрузка на базу очень сильная без индекса. Если полей более 10 000 - то запросы могут выполняться более чем за 10 секунд
Строк в таблице сейчас 185,473 и цифра постепенно растёт.
надеюсь по полю news_id в базе индекс проставлен?
Нет, индекс не был установлен. Установил индекс, сейчас займусь прописыванием конкретных ячеек для выборки из бд.
После теста отпишусь.
0x53 добавил 20.02.2010 в 09:08
В общем поменял... вот как изменился график загрузки:
Начиная где-то с половины восьмого и далее... Ближе к вечеру выгружу скриншот за день. Ради эксперимента еще убрал ограничения на индексирование страниц сайта.
1. Бот не моментально тормозится
2. Ставьте еще больше
роботс покажите
Вот... robots.txt
Изменял я его сегодня утром.
http://help.yandex.ru/webmaster/?id=996567#1022359
Был я там, поставил 10 секунд задержку... а толку нет.
Отключили PrivacyProtect в саппорте PDR.
0x53, будет даже лучше, если правильно применить http://devaka.ru/articles/hash-links
Полезная статья, спасибо за информацию.
Кто сказал? :D :D :D :D
Не так написал...
Желательно использовать только один h1 на странице. Не надо забывать отношение ПС на это.