Hi!
On 16-Dec-99 Khimenko Victor wrote:
> In <9903.991215@xxxxxxxxxxxxx> Vadim (vadim@xxxxxxxxxxxxx) wrote:
> V> Всем добрый день (утро, ночь).
>
> V> Собственно в процессе работы возникла пара вопросов...
> V> делается локальная баннерная вертушка. На C++ написан cgi который
> V> обращается за очередным баннером.
>
> Расстрелять грамотея, который такую #%$$& сотворил.
Лучше отрезать пальцы тупыми ножницами... ;-)
> V> 1. При тестировании быстродействия (цикл запросов) из консоли получаю
> V> где-то 100-120 вызовов за секунду. При вызове уже из апачей идет всего
> V> порядка 50 за секунду. В принципе этого хватает, но хочется знать
> V> почему так резко падает быстродействие. Более 8 копий апача не
> V> плодится, хотя разрешено 128.
>
> Hint: при каждом вызове CGI нужно сделать fork и породить exec'ом еще один
> процесс. Не знаю, где как, а в Linux'е это стоит весьма и весьма дорого за
> счет разной GlibC'шной магии (fork дешев, а вот exec...)...
ab хорошо работает, но лучге просто открыть 128 коннектов и не закрывать их.
sock=bind(...); // на 80 порт.
for (i=0; i<128; i++) connect(...);
sleep(сколько надо);...
;-)
> V> 2. Как лучше (быстрее для сервера) отдавать картинку ? В принципе
> V> возможно давать клиенту из cgi редирект на картинку (location) или же
> V> давать картинку напрямую из скрипта ... Хочется выбрать вариант менее
> V> всего нагружающий сервер.
>
> Вставить оный код на C++ (если вы уже дошли до того, чтобы это на C++ писать)
> в модуль и зашить внутрь апача. Это если вы хотите беречь сервер :-) С
> точки зрения экономии bandwidth'а лучше выдавать картинку самой .CGI'шкой
> (а дополнительную нагрузку от этого за overhead'ом от fork/exec'а вы просто
> не увидите).
Можно нутряным редиректом на mod_rewrite написать...
> Ага. Таки Linux и GlibC 2.1 ... Тогда от CGI нужно избавляться всеми
> возможными способами. Старт нового процесса в Linux'е стоит ОЧЕНЬ дорого
mod_php хорош. маленький и шустренький...
SKiller
--------------------------
Sergei Keler
WebMaster of "ComSet"
E-Mail: skiller@xxxxxxxxxx
http://www.comset.net
--------------------------
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.