Скорост на Уеб сървърите :)

r.stefanov

Well-Known Member
nginx безспорно е най-добрия вариант. С php-fpm или друг парсер вече е повод за дискусии :)

Ако направим сравнение между suphp, dso, cgi и старият fcgi, php-fpm (fastcgi) ще излезе в пъти по-икономичен от към процесорно време и удобен за оптимизация. Рамта не я броя, защото сегашните сървъри са с по 700гб+ , entry level, но и разликата от suphp е минимална. Дори няма нужда да намесваме nginx, cpanel с apache + php-fpm = pure win.

Добави това, че можеш да забравиш за suphp, suexec и т.н. С php-fpm всеки pool върви със собствени user, група, chroot, модули, php.ini, права, сокет/тцп и каквото се сетиш още, т.е. = сигурност.

Мен лично няма как да ме убеди някой, че което и да е друго решение към този момент може да изкара по-добри резултати, защото "си играя" с apache/php-fpm и nginx/php-fpm вече доста време. Това е при споделена среда. Ако става въпрос за сървър без панел nginx+php-fpm = 18000 заявки в секунда на vps с quad core и 1024 памет с wordpress сайт, това ми е рекорда за сега. (като това е нищо, хората от freenode стигат над 25 000 rps). Без Varnish, без добавки за кеширане, освен fastcgi cache от nginx, без никакви "екстри". Със стандартна конфигурация колко ще изкараш, 300? :p На повечето сървъри дали ще минеш и 50. Дори дискусиите са излишни :)

П.П. - ето ти малък пример:

Код:
Benchmarking predpriemach.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        LiteSpeed
Server Hostname:        predpriemach.com
Server Port:            80

Document Path:          /
Document Length:        414 bytes

Concurrency Level:      10
Time taken for tests:   28.204 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Non-2xx responses:      1000
Total transferred:      631000 bytes
HTML transferred:       414000 bytes
[U][B][FONT=Arial Black]Requests per second:    35.46 [#/sec] (mean)[/FONT][/B][/U]
Time per request:       282.036 [ms] (mean)
Time per request:       28.204 [ms] (mean, across all concurrent requests)
Transfer rate:          21.85 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      122  139  20.1    131     259
Processing:   122  141  30.6    131     647
Waiting:      122  140  29.9    130     647
Total:        245  280  36.9    270     843

Percentage of the requests served within a certain time (ms)
  50%    270
  66%    282
  75%    291
  80%    299
  90%    322
  95%    347
  98%    380
  99%    394
 100%    843 (longest request)

Не случайно всички чакат да се появи модул за whm. Надявам се като съм готов с пачa за cpanel да го демонстрирам и нагледно с видео.
 
Само ще кажа че това не е точно реалната ситуация на нещата за Litespeed защото е включен Per Client Throttling и е спазено златното правило да е съвсем леко над нуждите за стандартна работа на форума :) като го бенчмаркват го отключват от всякъде този е леко заключен да не се нарушава нормалната работа за потребителите

http://web.archive.org/web/20130316132915/http://www.litespeedtech.com/how-tos.html#qa_dos

http://www.litespeedtech.com/docs/webserver/config/security

иначе признавам че кешчето на nginxa настроено като микро кеш е много яко :) днес си сетъпнах едно такова много съм доволен (без kloxo че и на убунту сървър на всичко отгоре )

а иначе ето малко тестове :)

http://forum.mratwork.com/viewtopic.php?f=4&t=19486
по скоро бих дал около 8 зявки на апача и другите без кеширане :) на 616 мб рам впс (това по рама прилича на амазон микро клоуд впс-а )



Код:
[B]Code:[/B]

-------------------------------------------------
No.  Web Server                 requests/second
-------------------------------------------------
 1.  Apache                               8.04
 2.  Hiawatha                             8.76
 3.  Lighttpd                             8.74
 4.  Nginx                                8.89
 5.  Nginx + microcache *)              514.75
                                      4,089.80
                                     11,213.65

 6. Hiawatha-proxy                        8.82
 7. Lighttpd-proxy                        8.65
 8. Nginx-proxy                           8.42     
 9. Nginx-proxy + microcache *)         278.59
                                      3,066.68
                                     10,992.15

10. Hiawatha + Trafficserver **)          7.84
11. Hiawatha + Varnish *)               307.93
                                      10794.71
                                      10897.40
-------------------------------------------------

Note:

1. System: (with little mod/fix)

   A. Kloxo-MR: 6.5.1.a-2013100403

   B. OS: CentOS release 6.4 (Final) x86_64

   C. Apps:
      1. MySQL: mysql-5.5.34-1.el6.x86_64
      2. PHP: php53u-5.3.27-1.ius.el6.x86_64
      3. Httpd: --uninstalled--
      4. Lighttpd: --uninstalled--
      5. Hiawatha: --uninstalled--
      6. Nginx: --uninstalled--
      7. Cache: --uninstalled--
      8. Dns: nsd-3.2.15-5.el6.x86_64
      9. Qmail: qmail-toaster-1.03-1.3.27.mr.el6.x86_64
         - with: courier-imap-toaster-4.1.2-1.3.14.mr.el6.x86_64

   D. Php-type (for Httpd/proxy): php-fpm_event

   E. Memory:
                   total       used       free     shared    buffers     cached
      Mem:           616        491        124          0         10        259
      -/+ buffers/cache:        222        394
      Swap:            0          0          0


2. All testing in local

3. Testing with step:
        yum install httpd-tools -y
        sh /script/clearcache3
        sh /script/restart-all
        ab -n 1000 -c 10 http://bugfix.potissima.com/

4. *)  testing 3 x running 'ab -n 1000 -c 10 http://bugfix.potissima.com/' 
       with idle between testing less then 10 seconds (according to caching time for 'microcache')
   **) look like still something trouble with Trafficserver where no cache effect; the same result for Squid Cache Proxy

5. Testing application: Wordpress 3.6.1 + Mesocolumn Theme
 
Последно редактирано от модератор:
От: Скорост на Уеб сървърите :)

Тея неща много сложни изглеждат бе момчета, евала че им разбирате!
 
От: Скорост на Уеб сървърите :)

Маунтни кеша в паметта ако не си и го tweak-ни през fstab-а направо за да видиш още разлики :wink:
 
От: Скорост на Уеб сървърите :)

http://tools.pingdom.com/fpt
Още едно тулче, предприемач го дава секунда и половина, което е страхотно на фона на 8-15 секунди за пълното зарежда на повечето сайтове.
 
r.stefanov пробвай LiteSpeed - можеш да си дръпнеш trial-че от сайта им. Представи си скоростта на nginx+php+всички опции на apache (само за пример .htaccess) в едно и при това по тестове рабтещо малко по-добре. Лошото е че е платена история.

Отделно бенчмарка, който си пуснал не е коректен заради:
1. "Non-2xx responses: 1000".
2. Бенчмаркваш своята свързаност към интернет! Бенчмарк се прави в локална мрежа, иначе тестваш своята свързаност към сървъра, а не реално софтуера и настройките му. В теста ти има между 120 и 260мс само за connect при 282 avg за процесване;)

Като цяло не виждам какво доказваш с този ab тест? Направи същия с nginx/apache примерно на същия форум за сравнение. Да го сравняваш с някаква друга инсталация на съвсем друг софтуер не е коректно. Да не говорим, че зад форума седи и сериозна база, към която се губи доооста време в заявки. Общо взето нищо общо.

Тест се прави по следния начин:
1. Тестване на един и същи php сорс с различни уеб сървъри
2. Задължително трябва да покажеш и статистика на сервиране на статичен файл

Важното е средата на тестване да е една и съща (хардуер, софтуер, интернет свързаност)

Всичко друго са общо приказки :)
 
От: Re: Скорост на Уеб сървърите :)

r.stefanov пробвай LiteSpeed - можеш да си дръпнеш trial-че от сайта им. Представи си скоростта на nginx+php+всички опции на apache (само за пример .htaccess) в едно и при това по тестове рабтещо малко по-добре. Лошото е че е платена история.

Отделно бенчмарка, който си пуснал не е коректен заради:
1. "Non-2xx responses: 1000".
2. Бенчмаркваш своята свързаност към интернет! Бенчмарк се прави в локална мрежа, иначе тестваш своята свързаност към сървъра, а не реално софтуера и настройките му. В теста ти има между 120 и 260мс само за connect при 282 avg за процесване;)

Като цяло не виждам какво доказваш с този ab тест? Направи същия с nginx/apache примерно на същия форум за сравнение. Да го сравняваш с някаква друга инсталация на съвсем друг софтуер не е коректно. Да не говорим, че зад форума седи и сериозна база, към която се губи доооста време в заявки. Общо взето нищо общо.

Тест се прави по следния начин:
1. Тестване на един и същи php сорс с различни уеб сървъри
2. Задължително трябва да покажеш и статистика на сервиране на статичен файл

Важното е средата на тестване да е една и съща (хардуер, софтуер, интернет свързаност)

Всичко друго са общо приказки :)

response-a с non 2xx е бъг в аб. Има информация за него из мрежата. Интернета ми е повече от бърз, та за мен не е фактор (поне тук). Ако го пусна от сървър в канада резултата ще е същият.

htaccess е излишна функция. litespeed не ми допада, тествал съм с него, и е платен. Бързо работи де, но по никакъв начин не се доближава до каквото съм постигал без него.

Този тест не трябва да се приема за даденост, съвсем бейсик е и не доказва нищо освен колко bloat са някои сървъри (когато става въпрос за елементарни конкурентни заявки). Ако coolice даде ще му пусна платен тест от две приложения за бенчмарк, които ще симулират 10000+ посетители с определен behavior (логин/логоут, пост, гет различни айпита и т.н.), ама ще е излишно.

П.П. - преди време правихме малка прба с coolice и форума падаше с прекалено процесорно време (май 508 беше) при един единствен siege тест. За мен това означава, че има нещо нередно. Аз не мога да бутна уеб сайт зад nginx даже в локалната мрежа при 1г връзка и без да слагам зона за flood.
 
Последно редактирано:
Интернета не ти е бърз, защото имаш 120-260мс от теб до сървъра. Н говоря за скорости (mb/s), а за латентност.
Ако премахнеш това време, ще се получи, че заявките вместо за ~160-350мс ще минават за ~40-110мс. Тоест спокойно можеш да увеличиш резултата си по ~4, ако го правиш в локална мрежа.
 
От: Скорост на Уеб сървърите :)

Не съм мерил за производителност, но съм фен на apache компилирано с itk. Така apache-то си работи хем както всяко друго apache (няма сложни вътрешни proxy маневри), хем има възможност всеки виртуален хост да върви с отделен user. Комбинирам го с mod_cband (само за лимит на броя паралелни връзки) и iptables (за защита от мръсен flood).
 

Горе