Инструкция по оптимизации быстродействия TS и Sutra TDSВнимание! То что здесь описано делать не обязательно, так как Sutra/TS работают быстро и при стандартных настройках. Эта инструкция предназначена в осномном для тех у кого уж очень много трафика (миллионы) или сильно загруженный сервер. Начиная с версии 1.9 Sutra TDS и 2.3 TS используют технологию FastCGI для обработки запросов, это позволило сократить время ответа сервера в 2 раза по сравнению с обычной CGI технологией. Для справки: скорость работы FastCGI скриптов сравнима со скоростью работы самих модулей WEB-сервера, то есть "быстрее только чистый модуль" :) По скорости работы с SutraTDS+FastCGI не сравнится никакой PHP/mod_perl скрипт, даже с использованием оптимизаторов. В обычном режиме (без настройки) TS/Sutra TDS работают в нормальном
режиме CGI. Для того чтобы включить FastCGI нужно попросить админов
хостинга установить модуль mod_fastcgi для apache и добавить в конфиг httpd.conf строки:
StartServers 100 # - запускайте минимум 100 процессов апача при старте, можно больше
<IfModule mod_fastcgi.c>
FastCgiConfig -maxClassProcesses 100 -init-start-delay 0 -idle-timeout 5 -listen-queue-depth 100 \
-startDelay 1 -maxProcesses 100 -autoUpdate \
-restart -restart-delay 5 -killInterval 300 -minProcesses 50
</IfModule>
Внимание! Не меняйте ничего в этой конфигурации даже если вам очень хочется!После установки и настройки fastcgi модуля, нужно установить особую утилиту доступную в аське у саппорта. После этого нужно раскомментировать строки в .htaccess'а включающие FastCGI. Как видите настройка FastCGI довольно трудоёмка и требует наличие грамотного админа. Я рекомендую устанавливать FastCGI на трафике более 300k/сутки. Как сделать TS/Sutra TDS еще быстрееТакая оптимизация позволяет увеличить скорость работы в 2-10ть раз. К сожалению большинство администраторов виртуальных хостингов в не позволяют использовать RAM диск, поэтому этот способ подходит в основном для пользователей со своими серверами. Чтобы все это работало надо сказать админу такие слова: Если вы используете TS, тогда нужно сделать еще один RAM диск для memory/ подкаталога в каталоге ts
Результаты теста производительностиНа s1 ставилась Sutra TDS + FastCGI + RAM диск. В "eight" схеме создавались 10ть урлов перенаправлений. На s2 запускался "ab -c 10 -n 1000 http://s1/tds/in.cgi?eight". Результаты:
Server Software: Apache/1.3.33 Server Hostname: s1 Server Port: 80 Document Path: /tds/in.cgi?eight Document Length: 0 bytes Concurrency Level: 10 Time taken for tests: 2.235 seconds Complete requests: 1000 Failed requests: 0 Broken pipe errors: 0 Non-2xx responses: 1000 Total transferred: 352000 bytes HTML transferred: 0 bytes Requests per second: 447.43 [#/sec] (mean) Time per request: 22.35 [ms] (mean) Time per request: 2.23 [ms] (mean, across all concurrent requests) Transfer rate: 157.49 [Kbytes/sec] received Расшифровка для тех, кто не знаком с подобным способом тестирования бстродействия: Requests per second: 447.43 [#/sec] (mean), это около 38.000.000 запросов в сутки.
На практике это можно смело делить на 2, итого Sutra TDS на среднем сервере устойчиво держит 20.000.000 трафа в сутки.
|