Инструкция по оптимизации быстродействия TS и Sutra TDSВнимание! То что здесь описано делать не обязательно, так как Sutra/TS работают быстро и при стандартных настройках. Эта инструкция предназначена в осномном для тех у кого уж очень много трафика (миллионы) или сильно загруженный сервер. Начиная с версии 1.9 Sutra TDS и 2.3 TS используют технологию FastCGI для обработки запросов, это позволило сократить время ответа сервера в 2 раза по сравнению с обычной CGI технологией. Для справки: скорость работы FastCGI скриптов сравнима со скоростью работы самих модулей WEB-сервера, то есть "быстрее только чистый модуль" :) По скорости работы с SutraTDS+FastCGI не сравнится никакой PHP/mod_perl скрипт, даже с использованием оптимизаторов. Настройка RAM дискаЭта оптимизация позволяет увеличить скорость работы в 2-10ть раз. Способ подходит в основном для пользователей со своими серверами или vps. Чтобы это работало скажите админу такие слова: На linux это можно сделать добавив в /etc/fstab строчку: shm /путь/к/скрипту/memory tmpfs defaults,size=512M 0 0 Если вы используете TS, тогда нужно сделать еще один RAM диск для memory/ подкаталога в каталоге TS. Настройка FASTCGIЕсли вы используете серверную-мультидоменную версию скрипта, то FASTCGI настраивать не нужно (не будет работать). В обычном режиме (без настройки) TS/Sutra TDS работают в нормальном
режиме CGI. Для того чтобы включить FastCGI нужно попросить админов
хостинга установить модуль mod_fcgid (но не mod_fastcgi) для
apache. <IfModule mod_fcgid.c> BusyTimeout 60 BusyScanInterval 60 ErrorScanInterval 3 ZombieScanInterval 3 ProcessLifeTime 3600 DefaultMaxClassProcessCount 25 IPCConnectTimeout 3 IPCCommTimeout 60 </IfModule>После этого нужно раскомментировать строки в .htaccess'а включающие FastCGI (удалите символы "#" вначале строк) и fastcgi заработает. Убедиться в его работе очень просто - после его активации скрипт getos.cgi перестанет работать :) (это нормально). А также вам нужно отключить fastcgi для админки - для этого внутрь admin/.htaccess добавьте строку: AddHandler cgi-script .cgi Я рекомендую устанавливать FastCGI на трафике более 300k/сутки. Результаты теста производительностиНа 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 трафа в сутки.
|