Forum Webscript.Ru
Общие => Веб-технологии => Тема начата: C++ от 16 Января 2003, 20:58:57
-
Как будет быстрее?
У меня есть сишная прога, которая читает хтмл-ник и выводит его в станадртный поток...
Как будет быстрее, выводить программой или сделать редирект на этот же документ на сервере.
Вообще какие плюсы и минусы, при выводе прогой?
-
выводить программой
Кому?
Себе на консоль?
-
нет не в консоль, а в броузер клиенту.
-
Как будет быстрее, выводить программой или сделать редирект на этот же документ на сервере.
какой-то не понятный вопрос :(
-
Tronyx
по-моему человек написал собственный cat и хочет его зачем-то прикрутить к апачу...
-
C++
А она у тебя и заголовки шлет правильные?
А какое максиальное количество одновременных подключений может обработать?
-
pohozhe na izobretenie kolesa..
A chem tebe apache ne C programma ? Esli tebe bystrodeistvie nuzhno, pootkliuchai nenuzhnye tebe moduli.. A eshio luchshe skompil\'ni httpd s nuzhnymi tol\'ko tebe functsiami bez EAPI, a statically.
-
Да, я совсем не правильно выразился.
На самом деле проги нет, пишу сейчас, под CGI, мне интересно, есть разница в скорости я буду выводить хтмл своей прогой или буду просто в броузер слать заголовок с переадресацией на свойже сервер на этот хтмл, тогда его будет выводить сам апач.
как быстрее и есть ли особая разница?
-
Просто прикинь время :):
Через Апач:
1) инфа от твоей проги доходит до клиента
2) клиент пересылает серверу запрос о новой странице
3) сервер читает файл и передает его клиенту
Прогой:
1) ты читаешь файл и передаешь его клиенту
Т.е. у клиента с хорошим соединением разница практически не будет заметна, а вот если я сижу на 14400 где-то в глуши...
-
Прогой:
1) Прога читает запрос от клиента
2) Читает файл, и отдает его клиенту, предварительно сформировав заголовки
3) Закрывает текущее соединение и слушает дальше.
Если Сишная програ работаетчерез CGI, то все равно все будет проходить через Апач.
На С обычно пишут какие-нить совсем критичные к быстродействию модули (Yandex например - очень большой объем информации, который надо обработать)
-
Я понимаю, что терез Апач, мне интересно, сильно ли изменится скорость...
или лучше из проги сделать редирект, и пусть апач сам все делает дальше
-
C++
в лучшую сторону скорость не изменится, как я думаю.
-
А почему нельза сразу все через Апач пустить?
-
А почему нельза сразу все через Апач пустить?
В смысле, прикрутить модуль?
Или по другому можно как-то сделать?
Честно говоря не понял вопроса....
Прошу, прощения за делитантские вопросы и может ответы, я просто, только начал переходить под *nix, поэтому куча вопросов....:insane:
Да, еще может, кто знает, где валяются доки, по созданию модулей к Апачу, на русском языке?
-
ради скорости и нераспространении кода
-
C++
на правильно настроенном сервере код никак и никуда не распространится.
-
> А почему нельза сразу все через Апач пустить?
Я так понял, что пользователь обращается к скрипту, скрипт отрабатывает и в конце должен перенаправить пользователя на статичную страницу. И есть два варианта: отдать заголовок с редиректом, либо самому отдать файл.
В первом случае теряется время на прохождение двух заголовков, что, в случае плохого канала, будет заметно. Но зато статичный файл может оказаться в кеше какого-нибудь прокси, если пользователь их использует (или в кеше самого броузера). Если отдавать файл самому, тогда при повторном обращении скорее всего пользователю придется весь файл качать заново. Тут нужно смотреть по ситуации, насколько вероятен повторный приход пользователя на эту страницу, что делает сам скрипт, должен скрипт отработать при повторном обращении пользователя к нему, или допустимо, чтобы броузер взял информацию из кеша, без обрашения к серверу. Мне кажется, что в большинстве случаев для пользователя будет быстрее, если скрипт сам отдаст ему файл. Но возможны варианты.
-
Понял ты неправильно...
на статичную страницу.
Статичные страницы отдавать скриптом не имеет смысла.
Скрипты используются для того, чтобы отдавать динамическое содержимое.
-
В вопросе нигде не было сказано, что этот скрипт больше ничего не делает, кроме вывода файла.