Понижение приоритета php скрипта
29.12.2009Вчера получил отчет о повышенной нагрузке, который создает крон блоголёта. Каким же образом можно снизить нагрузку вне зависимости от того, создает ли на самом деле крон нагрузку? Первая мысль - это решение в лоб: понижение приоритета скрипта. На никсах это можно сделать даже внутри самого скрипта, но... Как всегда но: можно понизить приоритет всего процесса php, который исполняет все php скрипты и тогда просто получим низкий приоритет для всего сервера, что, безусловно, скажется катастрофическим образом на скорости сайта. Второй путь - запускать скрипт крона в отдельном процессе, в котором можно и поиграться с приоритетом. Путь для меня несколько сложный, так как требует доступа к шелу из скрипта, и я не уверен в его работоспособности - хотелось бы получить ответ на этот вопрос от специалистов по серверам.
Второй путь - внутри скрипта делать периодически sleep на 1-3 секунды. Если разбираться с тем, что происходит в кроне и откуда берется нагрузка, то на ум приходит только пингование - для одного поста дергаются все сайты, перечисленные в списке сервисов пингования. Сейчас по умолчанию это 26 сервисов для каждого из которых скрипт открывает сокет и ждет ответа. Можно после каждого сервиса делать секундную паузу. Также можно делать паузу перед каждым заданием, который крон дергает, например публикация отложенных записей, отсылка комментариев подписчикам, а также раз в сутки создание сайтмапа всего сайта.
← Ранее О выходе новой версии блоголёта
Позже Шаблоны писем →
Комментарии (8) на запись “Понижение приоритета php скрипта”
Оставить комментарий
Может, конечно, это и пинг, но только у меня на одном блоге вообще не были указаны сервисы для пинговки (да и отложенного постинга там не было), а на другом – только блоги Яндекса и Гугля, то есть не 26 сервисов, а всего 2.
Вариантов всего два:
1) хостер банально выкаблучивается (кстати, вчера тоже была проблема, заблокировали IP, аргументировав тем, что я несколько раз неправильно ввёл логин и пароль, хотя у меня всё делается на автомате)
2) крон действительно создаёт дополнительную нагрузку (только как?)
Ну и какие у него преемущества ,к примеру относительно Вордпреса и иже с ним?
Ну как минимум:
- просто изумительная скорость работы и минимальная нагрузка на сервер. На самом вшивом виртуале за $1-1.5 может нормально работать как минимум 15-20 блогов, с 1000-1500 посетителей ежедневно каждый.
- хорошая индексация в поисковиках (отчасти и из-за быстрой загрузки страницы).
- поддержка PHP внутри скрипта - везде и всюду.
- админка - всяко не хуже, чем в WP, очень удобная.
- открытый код - скрипт отлично настраивается "под себя" как угодно.
Использую v.2.70 & 2.80 english.
Александр, да даже самые первые версии Блоголёта буквально кричали о том, что у WordPress-а появился серьёзный конкурент. А на текущий момент Блоголёт расправил крылья, и очень скоро вообще будет неприлично сравнивать их между собой. Это будет оскорбительным по отношению к Блоголёту.
Рекомендую установить CMS, и всё встанет на свои места, если, конечно, вы не тролль и не спамер.