- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
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 и цифра постепенно растёт.
1. сколько записей в таблице?
2. покажите структуру
1. сколько записей в таблице?
2. покажите структуру
1. Строк примерно 185,473 и постепенно становится больше.
2. Ячейки news_id и new_datestamp в int(11), а остальные в text... думаю varchar меньше будет напрягать... так ?
Я уже говорил что в MySQL плохо разбираюсь.
1. сколько записей в таблице?
2. покажите структуру
Думаю это не может оказывать значительного влияния т.к. со слов ТС - выборки только по ID новостей, разве колво записей, хотя оно не велико.
Скорее всего дополнительную нагрузку создают дополнительно выводимые новости - типа предпросмотра (вывод 10-20 таких новостей в 10-20 раз повышают кол-во запросов) или выборка новостей типа новости за этот-же день, т.к. datestamp не зря-же поле, кстати что это за поле? а то смущает что вы о нем отозвались
Ячейки news_id и new_datestamp в int(11)
если вы не описались - то это не верно, нужно именно в свойствах поля в базе ставить что это timestamp, а не вручную в инт поле заносить дату, как полагаю ещё и в UNIX формате (ну а если всетаки дату туда нужно вручную вставлять, то выставить datetime).
Скиньте сайт - так можно будет более наглядно оценить логику вывода информации, а следовательно и тяжелые запросы определить.
PS.
У самого есть сайт, на котором 300 000 записей, так от ботов, по ночам, когда каждый из них делает по 5-10 запросов в секунду (иногда как яндекс с рамблером накинутся+ всякий левак - в итоге в среднем 15-20 запросов в секунду) так VPS (у которого лимит 900Мгц) грузится на 2-3% (время генерации страниц 0,02 сек)
Думаю это не может оказывать значительного влияния т.к. со слов ТС - выборки только по ID новостей, разве колво записей, хотя оно не велико.
Скорее всего дополнительную нагрузку создают дополнительно выводимые новости - типа предпросмотра (вывод 10-20 таких новостей в 10-20 раз повышают кол-во запросов) или выборка новостей типа новости за этот-же день, т.к. datestamp не зря-же поле, кстати что это за поле? а то смущает что вы о нем отозвались
если вы не описались - то это не верно, нужно именно в свойствах поля в базе ставить что это timestamp, а не вручную в инт поле заносить дату, как полагаю ещё и в UNIX формате (ну а если всетаки дату туда нужно вручную вставлять, то выставить datetime).
Скиньте сайт - так можно будет более наглядно оценить логику вывода информации, а следовательно и тяжелые запросы определить.
PS.
У самого есть сайт, на котором 300 000 записей, так от ботов, по ночам, когда каждый из них делает по 5-10 запросов в секунду (иногда как яндекс с рамблером накинутся+ всякий левак - в итоге в среднем 15-20 запросов в секунду) так VPS (у которого лимит 900Мгц) грузится на 2-3% (время генерации страниц 0,02 сек)
Отписал в ЛС
Оптимизировать запросы к базе данных.
это неправильно. вывод 10-20 новостей надо формировать в 1-2 запроса.
Оптимизировать запросы к базе данных.
может это ещё рано делать :) - у человека даже индексов проставлено не было, нужно с начала базу оптимизировать
это неправильно. вывод 10-20 новостей надо формировать в 1-2 запроса.
а никто и не писал что 10-20 новостей нужно цеплять отдельными запросами.
Отписал в ЛС
Вы хоть в следующий раз когда пишите - напоминайте по какой теме :) - а то еслибы ваш ник не запомнил - и не сообразил о чем вы - то принял бы за спам :)
посмотрел сайт там тяжелые запросы просто не могут быть, а всплески нагрузки связаны скорее всего:
1. карта сайта генерируется динамически - настройте кэш или отдавайте статикой.
2. просто много всяких сортировок - и по категориям и по страницам - проверьте наличие индекса на категориях.
3. если все выше указанное не поможет - только кэширование, ну или дотошное изучение запросов и их оптимизация.
Был я там, поставил 10 секунд задержку... а толку нет.
/ru/forum/277383
Зы что за движок? Может стоит кэшировать?
Вы хоть в следующий раз когда пишите - напоминайте по какой теме :) - а то еслибы ваш ник не запомнил - и не сообразил о чем вы - то принял бы за спам :)
посмотрел сайт там тяжелые запросы просто не могут быть, а всплески нагрузки связаны скорее всего:
1. карта сайта генерируется динамически - настройте кэш или отдавайте статикой.
2. просто много всяких сортировок - и по категориям и по страницам - проверьте наличие индекса на категориях.
3. если все выше указанное не поможет - только кэширование, ну или дотошное изучение запросов и их оптимизация.
Спасибо что посмотрели.
1. Я в общем-то уже и сам выяснил какие конкретно скрипты создают большую нагрузку. Это именно динамическая карта сайта и вывод многостраничного списка последних просмотренных видео.
2. Индексы уже во всех выборках проставлены.
3. Думаю стоит добавить кеширование, но ведь двиг полностью самописный... потому и кеширование надо будет самому прикручивать. Вот всё не могу разобраться как лучше отдавать заголовки и сохранять кеш. Кеш страниц наверно просто в текстовые файлы в отдельную папку, а вот заголовки это уже сложнее... я о заголовке 304 для поисковых ботов.
/ru/forum/277383
Зы что за движок? Может стоит кэшировать?
Двиг полностью самописный. Про кеширование написано чуть выше.