Какой Web-сервер выбрать?

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 14:20, 2 ноября 2009 (править)
77.238.248.121 (Обсуждение)

← К предыдущему изменению
Версия 16:04, 2 ноября 2009 (править) (отменить)
Renton (Обсуждение | вклад)

К следующему изменению →
Строка 1: Строка 1:
-#CGI+Данная статья поможет сделать правильный выбор Web-сервера для размещения сайта на PHP (или статического) на хостинге [http://www.1gb.ru 1Gb.ru], а также носит развлекально-познавательный характер, предлагая оценить возможности различных web-серверов на разных серверных платформах. Также следует учитывать, что тестирование проводилось на реальных серверах с рабочей загрузкой, поэтому данные между различными платформами (Windows, UNIX/UNIX) могут отличаться между собой в пределах 5%. И еще, автор статьи никоим образом не заинтересован в результах тестирования и приводит исключительно правдоподобные данные ;)
-Concurrency Level: 10+
-Time taken for tests: 60.005 seconds+
-Complete requests: 1421+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 6609923 bytes+
-HTML transferred: 5859914 bytes+
-Requests per second: 23.68 [#/sec] (mean)+
-Time per request: 422.272 [ms] (mean)+
-Time per request: 42.227 [ms] (mean, across all concurrent requests)+
-Transfer rate: 107.57 [Kbytes/sec] received+
-Concurrency Level: 10+== Методика тестирования ==
-Time taken for tests: 60.203 seconds+Основным критерием оценки будет служить количество запросов (10 параллельных) обработанных web-сервером в течение 60 секунд. Для полноты тестирования используется различный контент: <code>Joomla!</code> (пустая, без демо-данных), файл .zip размером 100Kb, картинка .png размером 1.5Kb. Все параметры усреденные, полученные после трех одинаковых последовательных тестов.
-Complete requests: 1548+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 7227686 bytes+
-HTML transferred: 6407608 bytes+
-Requests per second: 25.71 [#/sec] (mean)+
-Time per request: 388.908 [ms] (mean)+
-Time per request: 38.891 [ms] (mean, across all concurrent requests)+
-Transfer rate: 117.24 [Kbytes/sec] received+
-=================+
-Concurrency Level: 10+
-Time taken for tests: 60.003 seconds+
-Complete requests: 3796+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 390256832 bytes+
-HTML transferred: 389131144 bytes+
-Requests per second: 63.26 [#/sec] (mean)+
-Time per request: 158.068 [ms] (mean)+
-Time per request: 15.807 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6351.56 [Kbytes/sec] received+
-Concurrency Level: 10+=== Joomla! ===
-Time taken for tests: 60.069 seconds+* UNIX/Apache/CGI - 1484
-Complete requests: 4205+* UNIX/Apache/FastCGI - 2417
-Failed requests: 0+* '''UNIX/Apache/FastCGI/eAccelerator - 5318'''
-Write errors: 0+* UNIX/Apache/mod_php - 2067
-Total transferred: 432350160 bytes+* PROSTO.1Gb.ru - 2178
-HTML transferred: 431104000 bytes+* Windows/IIS/CGI < 10
-Requests per second: 70.00 [#/sec] (mean)+* Windows/Apache/mod_php < 10
-Time per request: 142.852 [ms] (mean)+
-Time per request: 14.285 [ms] (mean, across all concurrent requests)+
-Transfer rate: 7028.85 [Kbytes/sec] received+
-Concurrency Level: 10+Можно с уверенностью сказать, что наилучшим выбором для сайта на <code>Joomla!</code>'е (да и для любого другого сайта на PHP) будет <code>UNIX/Apache/FastCGI</code>, в т.ч. с включенным <code>eAccelerator</code>'ом. Windows платформа полностью провалила тест.
-Time taken for tests: 60.005 seconds+
-Complete requests: 3778+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 388241464 bytes+
-HTML transferred: 387120808 bytes+
-Requests per second: 62.96 [#/sec] (mean)+
-Time per request: 158.828 [ms] (mean)+
-Time per request: 15.883 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6318.48 [Kbytes/sec] received+
-# FastCGI+=== Файл .zip 100 Kb ===
 +*''' UNIX/Apache/CGI - 4263'''
 +* UNIX/Apache/FastCGI - 3976
 +* UNIX/Apache/mod_php - 4100
 +* PROSTO.1Gb.ru - 3030
 +*''' Windows/IIS/CGI - 4225'''
 +* Windows/Apache/mod_php - 3580
-Concurrency Level: 10+Здесь лидеров нет, любой из серверов одинаково хорошо будет раздавать файлы средних размеров, пожалуй, единственное что не стоит, так это выбирать <code>Windows/Apache/mod_php</code>.
-Time taken for tests: 60.248 seconds+
-Complete requests: 2273+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 10517171 bytes+
-HTML transferred: 9387490 bytes+
-Requests per second: 37.73 [#/sec] (mean)+
-Time per request: 265.060 [ms] (mean)+
-Time per request: 26.506 [ms] (mean, across all concurrent requests)+
-Transfer rate: 170.47 [Kbytes/sec] received+
-Concurrency Level: 10+=== Маленькие статические файлы ===
-Time taken for tests: 60.001 seconds+
-Complete requests: 2562+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 11854374 bytes+
-HTML transferred: 10581060 bytes+
-Requests per second: 42.70 [#/sec] (mean)+
-Time per request: 234.197 [ms] (mean)+
-Time per request: 23.420 [ms] (mean, across all concurrent requests)+
-Transfer rate: 192.94 [Kbytes/sec] received+
-=============+----
-Concurrency Level: 10+Т.к. количество запросов ограничено 50-ю тысячами, то в данном тесте параметром оценки будет служить время, за которое было выполнено 50 тысяч запросов.
-Time taken for tests: 60.006 seconds+----
-Complete requests: 4125+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 423908858 bytes+
-HTML transferred: 422809480 bytes+
-Requests per second: 68.74 [#/sec] (mean)+
-Time per request: 145.469 [ms] (mean)+
-Time per request: 14.547 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6898.89 [Kbytes/sec] received+
-Concurrency Level: 10+* '''UNIX/Apache/CGI - 30 с.'''
-Time taken for tests: 60.037 seconds+* '''UNIX/Apache/FastCGI - 29 с.'''
-Complete requests: 4023+* '''UNIX/Apache/mod_php - 30 с.'''
-Failed requests: 0+* PROSTO.1Gb.ru - 53 с.
-Write errors: 0+* Windows/IIS/CGI - 48 с.
-Total transferred: 413617550 bytes+* Windows/Apache/mod_php < 60 c.
-HTML transferred: 412545570 bytes+
-Requests per second: 67.01 [#/sec] (mean)+
-Time per request: 149.233 [ms] (mean)+
-Time per request: 14.923 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6727.95 [Kbytes/sec] received+
-Concurrency Level: 10+Явных лидеров также нет, но тест провален платформой <code>Windows/Apache/mod_php</code>.
-Time taken for tests: 60.042 seconds+
-Complete requests: 3781+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 388810026 bytes+
-HTML transferred: 387801886 bytes+
-Requests per second: 62.97 [#/sec] (mean)+
-Time per request: 158.800 [ms] (mean)+
-Time per request: 15.880 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6323.83 [Kbytes/sec] received+
-Concurrency Level: 10+== Выводы ==
-Time taken for tests: 60.035 seconds+
-Complete requests: 4072+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 418604744 bytes+
-HTML transferred: 417519730 bytes+
-Requests per second: 67.83 [#/sec] (mean)+
-Time per request: 147.433 [ms] (mean)+
-Time per request: 14.743 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6809.28 [Kbytes/sec] received+
-# eacc+* Если ваш сайт сделан на основе какой-то мощной CMS (Joomla!, WordPress, Bitrix, PHP Shop и т.п.) на языке <code>PHP</code>, то оптимальным выбором будет тип сервера <code>UNIX/Apache/FastCGI</code> или <code>UNIX/Apache/mod_php</code>, другие типы серверов выбирайте только в том случае, если вы точно знаете для чего вам это нужно.
-Concurrency Level: 10+* Для простых динамических (на PHP) или для слабопосещаемых сайтов подойдет недорогой проект [http://PROSTO.1Gb.ru PROSTO.1Gb.ru]
-Time taken for tests: 61.335 seconds+* Для статических сайтов или сайтов имеющих объемный контент для скачивания: UNIX/Apache/CGI, Windows/IIS/CGI, платформы развнозначны.
-Complete requests: 5429+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 25119983 bytes+
-HTML transferred: 22421770 bytes+
-Requests per second: 88.51 [#/sec] (mean)+
-Time per request: 112.978 [ms] (mean)+
-Time per request: 11.298 [ms] (mean, across all concurrent requests)+
-Transfer rate: 399.95 [Kbytes/sec] received+
-Concurrency Level: 10+== См. также ==
-Time taken for tests: 60.010 seconds+* [[Акселераторы PHP]]
-Complete requests: 4732+== Ссылки ==
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 21894964 bytes+
-HTML transferred: 19543160 bytes+
-Requests per second: 78.85 [#/sec] (mean)+
-Time per request: 126.818 [ms] (mean)+
-Time per request: 12.682 [ms] (mean, across all concurrent requests)+
-Transfer rate: 356.30 [Kbytes/sec] received+
-Concurrency Level: 10+* [http://www.1gb.ru/services_servertype.php Выбор типа сервера] - статья на сайте 1Gb.ru
-Time taken for tests: 60.001 seconds+
-Complete requests: 5795+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 26813465 bytes+
-HTML transferred: 23933350 bytes+
-Requests per second: 96.58 [#/sec] (mean)+
-Time per request: 103.539 [ms] (mean)+
-Time per request: 10.354 [ms] (mean, across all concurrent requests)+
-Transfer rate: 436.41 [Kbytes/sec] received+
- +
-# mod_php+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.011 seconds+
-Complete requests: 2075+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 9632150 bytes+
-HTML transferred: 8569750 bytes+
-Requests per second: 34.58 [#/sec] (mean)+
-Time per request: 289.208 [ms] (mean)+
-Time per request: 28.921 [ms] (mean, across all concurrent requests)+
-Transfer rate: 156.75 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.030 seconds+
-Complete requests: 2059+
-Failed requests: 1+
- (Connect: 0, Receive: 0, Length: 1, Exceptions: 0)+
-Write errors: 0+
-Total transferred: 9553236 bytes+
-HTML transferred: 8499540 bytes+
-Requests per second: 34.30 [#/sec] (mean)+
-Time per request: 291.551 [ms] (mean)+
-Time per request: 29.155 [ms] (mean, across all concurrent requests)+
-Transfer rate: 155.41 [Kbytes/sec] received+
- +
-==============+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.001 seconds+
-Complete requests: 3687+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 378938843 bytes+
-HTML transferred: 377915882 bytes+
-Requests per second: 61.45 [#/sec] (mean)+
-Time per request: 162.738 [ms] (mean)+
-Time per request: 16.274 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6167.48 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.101 seconds+
-Complete requests: 4144+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 426253688 bytes+
-HTML transferred: 425103307 bytes+
-Requests per second: 68.95 [#/sec] (mean)+
-Time per request: 145.031 [ms] (mean)+
-Time per request: 14.503 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6926.10 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.033 seconds+
-Complete requests: 3570+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 366907306 bytes+
-HTML transferred: 365915923 bytes+
-Requests per second: 59.47 [#/sec] (mean)+
-Time per request: 168.160 [ms] (mean)+
-Time per request: 16.816 [ms] (mean, across all concurrent requests)+
-Transfer rate: 5968.49 [Kbytes/sec] received+
- +
-# prosto+
-Concurrency Level: 10+
-Time taken for tests: 60.445 seconds+
-Complete requests: 1314+
-Failed requests: 525+
- (Connect: 0, Receive: 0, Length: 525, Exceptions: 0)+
-Write errors: 0+
-Non-2xx responses: 525+
-Total transferred: 4264823 bytes+
-HTML transferred: 3590030 bytes+
-Requests per second: 21.74 [#/sec] (mean)+
-Time per request: 460.010 [ms] (mean)+
-Time per request: 46.001 [ms] (mean, across all concurrent requests)+
-Transfer rate: 68.90 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.067 seconds+
-Complete requests: 3940+
-Failed requests: 1272+
- (Connect: 0, Receive: 0, Length: 1272, Exceptions: 0)+
-Write errors: 0+
-Non-2xx responses: 2668+
-Total transferred: 8618268 bytes+
-HTML transferred: 6925048 bytes+
-Requests per second: 65.59 [#/sec] (mean)+
-Time per request: 152.455 [ms] (mean)+
-Time per request: 15.246 [ms] (mean, across all concurrent requests)+
-Transfer rate: 140.11 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 61.203 seconds+
-Complete requests: 1282+
-Failed requests: 174+
- (Connect: 0, Receive: 0, Length: 174, Exceptions: 0)+
-Write errors: 0+
-Non-2xx responses: 174+
-Total transferred: 5445629 bytes+
-HTML transferred: 4681988 bytes+
-Requests per second: 20.95 [#/sec] (mean)+
-Time per request: 477.405 [ms] (mean)+
-Time per request: 47.741 [ms] (mean, across all concurrent requests)+
-Transfer rate: 86.89 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.048 seconds+
-Complete requests: 846+
-Failed requests: 251+
- (Connect: 0, Receive: 0, Length: 251, Exceptions: 0)+
-Write errors: 0+
-Non-2xx responses: 251+
-Total transferred: 3073327 bytes+
-HTML transferred: 2613193 bytes+
-Requests per second: 14.09 [#/sec] (mean)+
-Time per request: 709.781 [ms] (mean)+
-Time per request: 70.978 [ms] (mean, across all concurrent requests)+
-Transfer rate: 49.98 [Kbytes/sec] received+
- +
-=====zip ====+
-Concurrency Level: 10+
-Time taken for tests: 60.001 seconds+
-Complete requests: 3030+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 312085017 bytes+
-HTML transferred: 310840888 bytes+
-Requests per second: 50.50 [#/sec] (mean)+
-Time per request: 198.024 [ms] (mean)+
-Time per request: 19.802 [ms] (mean, across all concurrent requests)+
-Transfer rate: 5079.41 [Kbytes/sec] received+
-=== small img ===+
-> 50k+
- +
-# Windows mod_php 5+
- +
-=== zip w squid ===+
-Concurrency Level: 10+
-Time taken for tests: 60.000 seconds+
-Complete requests: 3459+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 356005910 bytes+
-HTML transferred: 354616232 bytes+
-Requests per second: 57.65 [#/sec] (mean)+
-Time per request: 173.462 [ms] (mean)+
-Time per request: 17.346 [ms] (mean, across all concurrent requests)+
-Transfer rate: 5794.33 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.005 seconds+
-Complete requests: 3665+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 377171872 bytes+
-HTML transferred: 375695728 bytes+
-Requests per second: 61.08 [#/sec] (mean)+
-Time per request: 163.725 [ms] (mean)+
-Time per request: 16.373 [ms] (mean, across all concurrent requests)+
-Transfer rate: 6138.32 [Kbytes/sec] received+
- +
-=== zip wo squid ===+
-Concurrency Level: 10+
-Time taken for tests: 60.037 seconds+
-Complete requests: 3004+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 308478192 bytes+
-HTML transferred: 307636792 bytes+
-Requests per second: 50.04 [#/sec] (mean)+
-Time per request: 199.856 [ms] (mean)+
-Time per request: 19.986 [ms] (mean, across all concurrent requests)+
-Transfer rate: 5017.74 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.004 seconds+
-Complete requests: 2666+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 273994624 bytes+
-HTML transferred: 273247024 bytes+
-Requests per second: 44.43 [#/sec] (mean)+
-Time per request: 225.070 [ms] (mean)+
-Time per request: 22.507 [ms] (mean, across all concurrent requests)+
-Transfer rate: 4459.28 [Kbytes/sec] received+
- +
-=== small img wo squid ===+
-Concurrency Level: 10+
-Time taken for tests: 60.006 seconds+
-Complete requests: 7251+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 13024592 bytes+
-HTML transferred: 10566164 bytes+
-Requests per second: 120.84 [#/sec] (mean)+
-Time per request: 82.755 [ms] (mean)+
-Time per request: 8.276 [ms] (mean, across all concurrent requests)+
-Transfer rate: 211.97 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.004 seconds+
-Complete requests: 6322+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 11354312 bytes+
-HTML transferred: 9211154 bytes+
-Requests per second: 105.36 [#/sec] (mean)+
-Time per request: 94.913 [ms] (mean)+
-Time per request: 9.491 [ms] (mean, across all concurrent requests)+
-Transfer rate: 184.79 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.002 seconds+
-Complete requests: 9170+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 16481892 bytes+
-HTML transferred: 13370889 bytes+
-Requests per second: 152.83 [#/sec] (mean)+
-Time per request: 65.433 [ms] (mean)+
-Time per request: 6.543 [ms] (mean, across all concurrent requests)+
-Transfer rate: 268.25 [Kbytes/sec] received+
- +
-=== small img w squid ===+
-Concurrency Level: 10+
-Time taken for tests: 60.011 seconds+
-Complete requests: 37444+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 71774069 bytes+
-HTML transferred: 54555908 bytes+
-Requests per second: 623.95 [#/sec] (mean)+
-Time per request: 16.027 [ms] (mean)+
-Time per request: 1.603 [ms] (mean, across all concurrent requests)+
-Transfer rate: 1167.98 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.000 seconds+
-Complete requests: 41625+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 79822009 bytes+
-HTML transferred: 60649082 bytes+
-Requests per second: 693.75 [#/sec] (mean)+
-Time per request: 14.414 [ms] (mean)+
-Time per request: 1.441 [ms] (mean, across all concurrent requests)+
-Transfer rate: 1299.19 [Kbytes/sec] received+
- +
-Concurrency Level: 10+
-Time taken for tests: 60.048 seconds+
-Complete requests: 40171+
-Failed requests: 0+
-Write errors: 0+
-Total transferred: 77049896 bytes+
-HTML transferred: 58530604 bytes+
-Requests per second: 668.98 [#/sec] (mean)+
-Time per request: 14.948 [ms] (mean)+
-Time per request: 1.495 [ms] (mean, across all concurrent requests)+
-Transfer rate: 1253.07 [Kbytes/sec] received+

Версия 16:04, 2 ноября 2009

Данная статья поможет сделать правильный выбор Web-сервера для размещения сайта на PHP (или статического) на хостинге 1Gb.ru, а также носит развлекально-познавательный характер, предлагая оценить возможности различных web-серверов на разных серверных платформах. Также следует учитывать, что тестирование проводилось на реальных серверах с рабочей загрузкой, поэтому данные между различными платформами (Windows, UNIX/UNIX) могут отличаться между собой в пределах 5%. И еще, автор статьи никоим образом не заинтересован в результах тестирования и приводит исключительно правдоподобные данные ;)

Содержание

Методика тестирования

Основным критерием оценки будет служить количество запросов (10 параллельных) обработанных web-сервером в течение 60 секунд. Для полноты тестирования используется различный контент: Joomla! (пустая, без демо-данных), файл .zip размером 100Kb, картинка .png размером 1.5Kb. Все параметры усреденные, полученные после трех одинаковых последовательных тестов.

Joomla!

  • UNIX/Apache/CGI - 1484
  • UNIX/Apache/FastCGI - 2417
  • UNIX/Apache/FastCGI/eAccelerator - 5318
  • UNIX/Apache/mod_php - 2067
  • PROSTO.1Gb.ru - 2178
  • Windows/IIS/CGI < 10
  • Windows/Apache/mod_php < 10

Можно с уверенностью сказать, что наилучшим выбором для сайта на Joomla!'е (да и для любого другого сайта на PHP) будет UNIX/Apache/FastCGI, в т.ч. с включенным eAccelerator'ом. Windows платформа полностью провалила тест.

Файл .zip 100 Kb

  • UNIX/Apache/CGI - 4263
  • UNIX/Apache/FastCGI - 3976
  • UNIX/Apache/mod_php - 4100
  • PROSTO.1Gb.ru - 3030
  • Windows/IIS/CGI - 4225
  • Windows/Apache/mod_php - 3580

Здесь лидеров нет, любой из серверов одинаково хорошо будет раздавать файлы средних размеров, пожалуй, единственное что не стоит, так это выбирать Windows/Apache/mod_php.

Маленькие статические файлы


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


  • UNIX/Apache/CGI - 30 с.
  • UNIX/Apache/FastCGI - 29 с.
  • UNIX/Apache/mod_php - 30 с.
  • PROSTO.1Gb.ru - 53 с.
  • Windows/IIS/CGI - 48 с.
  • Windows/Apache/mod_php < 60 c.

Явных лидеров также нет, но тест провален платформой Windows/Apache/mod_php.

Выводы

  • Если ваш сайт сделан на основе какой-то мощной CMS (Joomla!, WordPress, Bitrix, PHP Shop и т.п.) на языке PHP, то оптимальным выбором будет тип сервера UNIX/Apache/FastCGI или UNIX/Apache/mod_php, другие типы серверов выбирайте только в том случае, если вы точно знаете для чего вам это нужно.
  • Для простых динамических (на PHP) или для слабопосещаемых сайтов подойдет недорогой проект PROSTO.1Gb.ru
  • Для статических сайтов или сайтов имеющих объемный контент для скачивания: UNIX/Apache/CGI, Windows/IIS/CGI, платформы развнозначны.

См. также

Ссылки

Личные инструменты