stealthy

stealthy
Рейтинг
69
Регистрация
15.06.2006
Ergo:
А вот здесь меня ткнули мордой в навоз и объяснили что все совсем наоброт

По ссылке видна та же проблема - вы некорректно ставите вопрос и сами путаетесь при этом. Собственно ничего в этом треде нового, по сравнению с тем что написал Вам я - нет.

Если у вас страница полностью приезжает за 10 секунд, а у другого человека на быстром канале за 2, то это время можно описать формулой:

ВремяОжиданияЧеловекаВБраузере = ВремяОтсылкиДанных + ВремяОбработкиДанных + ВремяВозвратаОтвета.

Естественно, что ВремяОтсылкиДанных можно не рассматривать из-за очень малого объема данных в запросе (обычно). Время обработки данных на сервере будет одинаковое для Вас и Второго человека что бы тут Вам не писали. ВремяВозвратаОтвета у Вас будет =КоличествоКилобайтВОтвете/СкоростьПередачиДанных.

Естественно, что если Вы увеличиваете количество выдаваемых сервером данных, то и общее время ожидания будет увеличиваться пропорционально. Поэтому если у вас канал на 64Кбит/сек, а у вашего приятеля 1024Кбит/сек, то при объеме страницы в 320Кб у Вас она будет грузиться 40 секунд, а у Вашего приятеля 2.5 секунды.

Если Вы увеличите размер страницы до 720Кб, то у Вас она будет грузиться уже 80 секунд, а у него - 5. Он просто не заметит разницы. Это должно быть очевидно даже школьнику, высшего образования для этого не нужно.

Если же Вы замерите время генерации страницы, то оно будет одинаковым на любой скорости связи.

Послушайте, не путайте людей, и так тут у многих каша в голове из-за нежелания разбираться в деталях. Даже при таком понимании времени генерации страницы процесс её создания НИКАК НЕ СВЯЗАН С ЕЁ ВЫВОДОМ. Вообще. Мясорубка будет молоть мясо с одной и той же скоростью независимо от того, будет фарш из-под нее уезжать в кастрюлю или он будет там скапливаться. Вот и все.

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

Я из дискуссии на эту тему выхожу, надоело доказывать очевидные вещи.

Мишган:
stealthy, все что вы написали верно если сначала собираются данные, а потом на основе этих данных генерируется страница. Если же данные выбираются из базы по мере генерации страницы, то обрамляющая транзакция будет достаточно долгая.

Вы неправы в корне, перечитайте мой пост еще раз. Время генерации страницы - это время от совершения запроса к серверу до конца его ответа. Время на транзакции в БД туда входят. И время на транзакции к БД никак не зависит вообще от способа вывода данных, см. пост выше.

Мишган:
ЗЫ. Буферизовнный вывод сложнее в реализации нежели небуферизованный (знай себе пиши в сокет байты). Так зачем городили огород с созданием буферизованного если у него нет преимуществ.

Существенно никак не отличаются по реализации. Просто в одном случае цикл вывода в сокет запускается сразу и умеет ждать сигнала об окончании потока, в другом - запускается по сигналу и ничего не ждет кроме факта опустошения буфера.

Про gzip - я не спорил о методах реализации, у нас в системе все так и сделано как вы перечислили за исключением третьего пункта - он не нужен. Просто я сказал что gzip может не спасти, если клиенты его не понимают. А в остальном возражений нет.

Timen:
Может программист сайта воспользовался указанным в статье методом, но забыл о строке: header ("HTTP/1.0 200 Ok");

Вообще-то эта строка обычно сервером самостоятельно генерируется. Принудительно её делать нужно в особых случаях, если переопределяются все заголовки (для CMS обычно так делается) или если переопределяются некоторые заголовки но имеем дело с IIS у которого не выставлен один хитрый флажок в реестре, из-за чего он лепит свои заголовки и принудительно ставит свой перенос строки после них.

Lisa:
Я, конечно, нечасто интересуюсь кулинарными рецептами, но как правило состоят они из двух абзацев "Ингридиенты" и "Приготовление".

А как же фотографии? :). У меня вообще все собранные рецепты как правило единым текстом "приготовление", ингридиенты там по ходу вписаны. Иногда удобно, иногда - нет.

Lisa:
ЗЫ. Тут меня в соседнем топике определили, как продавца хостинга. А вы меня как уже определили? Уже понятно, что не как владельца сайта и контент-менеджера, но очень интересно.

Эээ.... такой простой вопрос, а поставил меня в тупик. Ну вообще-то я не задумывался особо. Просто собеседник, а кем Вы по профессии (должности, призванию) - как бы все равно, поскольку в каком-то конкретном треде каждый занимает свою позицию по убеждениям и аргументирует ее с позиции своих умений и навыков. В этом треде Вы выступаете как представитель компании-партнера битрикса (или частного лица что сути не меняет). В другом можете выступать как контент-менеджер. Если Вы реально занимаетесь и тем и другим - то и аргументация будет сильная и там и там.

Хотя я вряд ли открыл Америку.

bonzaza:
Но насколько я знаю при отсутсвии сжатия сервер уведомит робота соответсвующим заголовком (а точнее строчкой в ответе заголовка) о том, что сжатие не поддерживается.

Немного не так. Когда приходит запрос на сервер там пишется в заголовке Accept-Encoding, что типа я клиент умный, gzip понимать умею. Сервер в зависимости от своих возможностей может отдать gzip (пометив заголовком Content-Encoding что контент пожатый), а может отдать и просто plain/html.

Lisa:
Набивать тексты лучше в офлайне. и потом их копировать. Если же тексты уже есть в каком-то структурированном виде (хотя бы Заголовок - Текст - Некоторый признак), то какая бы не была удобная cms, проще сделать несколько замен в файле и вставить сразу несколько десятков документов, чем набивать каждый из них по отдельности.

Ручной перенос имеет смысл, если заодно требуется осмысленная переработка.

То есть примерно так -

Берем текстовой редактор, типа MSWord где удобно набить тексты и их прокатать через проверку орфографии и пунктуации. Набиваем полную директорию файлов называя их стандартизированным образом, поскольку разбирать тело документа, которое будет содержать тайтлы или другие признаки - лишнее. Пишем VBScript (или еще что-то подобное) для перегона всего этого безобразия в CSV формат и импортируем в битрикс.

Ключевой вопрос: зачем тут тогда нужен хваленый битрикс, если ВСЕ УПРАВЛЕНИЕ КОНТЕНТОМ ВНЕ СИСТЕМЫ. Таким образом можно использовать ЛЮБУЮ CMS, поддерживающую импорт из CSV в каталог.

Именно об этих радостях жизни думает контент-менеджер, он же иногда и владелец сайта. А разработчик системы управления и внедренец думает об этом редко. А должно быть все НАОБОРОТ.

Дима:
А 200 граммов - граненый стакан.

"Поллитра воды это бутылка воды из-под поллитровой водки" - шедевр.

С детства убивал меня вопрос - а 200 грамм это по полосочку или полный до краев граненый стакан?

Lisa:
Eklmn®, стандартную структуру проще набить в экселе и импортировать встроенными средствами.

Набивать тексты в Экселе любой человек будет только от безысходности.

Eklmn®:
я имею ввиду простоту добавленяю новых страниц и новостей.
в битриксе поначалу мне кажется замучаешся набивать базу кулинарными рецептами
(сайт будет об этом).

О чем и речь.

Всего: 937