stealthy

stealthy
Рейтинг
69
Регистрация
15.06.2006
bonzaza:
ИМХО зеркальщик обходит сайт и ищет ссылки для склевания
а запрашивает повторно, чтобы точно быть уверенным, что страница отдается и так и так (не все же gzip поддерживают)

Про H - да, зеркальщик, но по мне они все краулеры, собственно я употребил "индексатор" в этом смысле. А зачем ему убеждаться в том, что страница отдается и так и так - это интересно.

Сейчас посмотрел логи более тщательно:

- блоггерный индексатор (короче чтобы не путать людей - вот этот: YandexBlog/0.99.101 (compatible; DOS3.30; Mozilla/5.0; B; robot)) ест страницы периодически в сжатом виде, периодически не в сжатом.

- I бот - индексатор - тоже ест и так и так, но последовательного забора как у зеркальщика - действительно нет.

Разработчики говорят что если боты просят gzip - то так и нужно им gzip отдавать.

amonasro:
Но сайт при этом нормально работает, никаких 404 не выдается.
Может кто подскажет, как такое бывает?

Браузер выдает свое сообщение "Невозможно отобразить страницу..." в случае, если приезжает пустой контент и заголовок содержит код возврата 404, или вообще ничего не приезжает. Если заголовок содержит код 404, но контент не пустой, то браузер считает, что страница содержит сообщение со смыслом "Такой страницы нету", сгенерированное на серверной стороне и спокойно показывает содержимое страницы. А что уж там в странице - нормальный контент выдается или сообщение об ошибке типа http://www.twl.ru/404 или http://yandex.ru/dgfdg - это уже не его дело.

Lisa, разница понятна но я решительно против специального обучения в какой-бы то ни было форме (без необходимости!). Мой посыл очень прост - Вы читали хэлп к Ворду или Вас кто-то ему обучал для того чтобы начать использовать примерно 30% самых частоиспользуемых функций? А продукт то на порядок посложнее будет. И потому я не вижу ни одной реальной причины чтобы обучать клиента простейшим и самым частоупотребимым функциям.

Изучить как пользовать можно все что угодно, если припрет, даже PCAD будь он неладен со своим интерфейсом. Но хоть убейте я не считаю ни интерфейс Битрикса, ни интерфейс Неткета интуитивно понятными и логично выстроенными. Поэтому я тут не ратую ни за "красных" ни за "большевиков". Это системы для программеров, созданные программерами. End-user же, к сожалению, unfriendly.

T.R.O.N:
Кому должен? Не использую вовсе. Сам IIS своими стредствами нормально не создает. Кроме этого работаю под ActiveState Perl. Кеша внешние - не удобно. Кривые они. И какой смысл кешировать страницу на 10-30 минут? Если за это время туда попало 10-50 человек. При этом гемор с кешом больше. Темболее перекешировать 3-10К страниц - не очень притяное занятие.

Ну, никому, конечно не должен :). Но Майкрософт рекомендует кэширование для увеличения производительности в целом. У меня также Activestate Perl под IIS и естественно кэш написан свой. В любом случае, даже если 10-50 генераций страницы избежать - это может быть приличной экономией по производительности, в зависимости от нагрузки на скрипт. "Перекэшировать" 10К страниц не нужно - Вы можете писать в кэш страницы по мере их генерации, что тут сложного? Гемора никакого тоже вроде нет, простой кэш пишется за полчаса с отладкой.

Кстати, если у Вас приложение частно обновляет страницы, то вероятно обновление затрагивает не всю страницу а только определенные части. Так что наверняка есть возможность применять блочное кэширование.

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

Мишган:
Не все так просто... "буферизованная" выдача лучше масштабируется, так как время генерации страницы не зависит от канала и прочих внешних данных и при этом минимально. а значит обрамляющая генерацию транзакция БД выполница быстрее, следовательно кол-во транзакций в единицу времени будет меньше. А проблему с объемом можно решить gzipом

Вы чего это такое написали? Причем тут вообще транзакция в БД и вывод готовых данных в порт? Это же не мясорубка Вам, чтобы пока фарш из шнека не вышел нельзя было мясо запихать в неё.

Генерация страницы это ОТДЕЛЬНАЯ вещь, которая зависит от скорости работы процедур в БД и скорости работы скриптов. Все. Точка. Никак с каналом и тем более с моделью вывода это дело не связано вообще.

Небуферизированный вывод тоже имеет свой буфер. Продолжим пример с мясорубкой:

Имеем мясорубку (приложение) и конвейерную ленту (канал), на которую падает фарш (данные). Конвейерная лента ссыпает готовый фарш в кастрюлю (браузер клиента).

БУФЕРИЗИРОВАННЫЙ ВЫВОД

Конвейер стоит. Мясорубка молотит мясо. По окончании перемалывания лента включается и ГОРКА фарша едет к кастрюле куда и высыпается. Не мгновенно высыпается, но быстро. Имеем задержку между началом перемалывания и началом поступления фарша в кастрюлю равную времени приготовления фарша (времени работы мясорубки). Итого время получения последнего байта данных (TTLB) на клиенте будет равно времени работы скриптов (мясорубки) + времени доставки всех данных.

НЕБУФЕРИЗИРОВАННЫЙ ВЫВОД

Мясорубка рубит фарш, конвейер включается СРАЗУ по попаданию фарша на него. Таким образом фарш попадает в кастрюлю постепенно, то есть первые кусочки фарша попадут в кастрюлю раньше чем при буферизированном выводе. Но время прихода остатков фарша будет ТАКИМ ЖЕ.

То есть другими словами НЕБУФЕРИЗИРОВАННЫЙ вывод только уменьшает время ожидания первого байта клиентом. Если файл большой, то он будет отображаться "постепенно", по мере генерации контента на серверной стороне. А при буферизированном - все и сразу после задержки.

Про GZIP - проблему с объемом надежно так решить нельзя, т.к. далеко не все клиенты поддерживают gzip сжатие, несмотря на заявления производителей (из личной статистики).

Ergo:
А как включить в апаче буферизированную выдачу?

Это не принадлежность Апача, хотя я не уверен что в его настройках нельзя это включить/выключить. В Perl достаточно выставить строку $|=1 чтобы выдача была небуферизированной. Поищите поиском.

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

Lisa:
Объяснение контент-менеджеру - как добавлять статью - жуть какая проблема. Я на днях испытала С битриксом этой проблемы не возникло не разу.

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

T.R.O.N:
У меня нет статических старниц. Частота обновлений - 2-5 раз в час. Иногда чаще. А траф, если говоить о поисковике, то вощем разницы не играет. Всеравно анлимит.

У нас тоже не статических страниц, какая разница? Кэш все равно должен быть.

T.R.O.N:
Ты можеш в скрипте сам отследить. Если статика, то посмотри по типу запроса. Если яша просит несжаты текст, он уберет в своем запросе , что принимает gzip

Ты не понял, я написал выше что именно так и сделали, потому как иначе сделать как - не знаю.

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

Тоже верно. Хотя лично я был против в свое время создания своего велосипеда. Но вышло так, что другой альтернативны на тот момент не было. Сейчас мы бы ни за что этого делать не стали - есть ряд уже развитых продуктов и просто коммерчески оправданнее использовать их.

Zpro:
stealthy,
Сначала склонялись к Вашей CMS, но стоимость интеграции у Вас - нереальная поэтому отказались сразу-же...

Цены немного задраны искуственно, нам невыгодно заниматься интеграцией самим, это семечки а не бизнес. Вроде бы нет проблем интегрировать все самостоятельно, у нас даже ребята из РПЦ сами себе сайты собирают (http://www.theepiphany.ru/) - вполне себе хорошо получается.

grey109:
Если честно, я что-то не нашел в логах запросов страниц от Яндекса, которые отдавались бы в сжатом виде.

Я не видел пока своё логирование не прикрутил. В стандартных логах IIS я не уверен что логируется тип передаваемого контента, по-моему там нельзя этот параметр увидеть.

Всего: 937