aksutov1996, это левый сайт, это легко проверить, выдает у тебя сайт десять баллов и у юзеров грузится поганно, за пять минут меняешь его на 99 баллов и вуаля пейджспид выдает не десять, не 50, а сразу 99. Если подмешивает данные как это возможно?
svm, ну так на десктопе же 99 со счётчиками, если их убрать будет так же. В каком месте вы увидели что проблема в счётчиках на мобильной версии, вс целом можно там с минификацией поработать, но там будет больше баллов но медленнее работать скорее всего
Справедливости ради на встроенном кластермоде можно выиграть еще секунд 7 и обработать их за 45 секунд, хотя я ожидал что разница будет хотя бы в пару раз, вероятно можно поставить нгикс и запустить без кластер моде за ним несколько нод и будет выигрышь тогда в разы.
time ab -n 1000000 -c 10000 213.239.193.89:8000
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, www.zeustech.net
Licensed to The Apache Software Foundation, www.apache.org
Server Software:
Server Hostname: 213.239.193.89
Server Port: 8000
Document Path: /
Document Length: 11 bytes
Concurrency Level: 10000
Time taken for tests: 45.259 seconds
Complete requests: 1000000
Failed requests: 0
Total transferred: 111000000 bytes
HTML transferred: 11000000 bytes
Requests per second: 22094.97 [#/sec] (mean)
Time per request: 452.592 [ms] (mean)
Time per request: 0.045 [ms] (mean, across all concurrent requests)
Transfer rate: 2395.06 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 82 174.8 68 3144
Processing: 299 368 21.5 368 713
Waiting: 0 68 20.5 67 380
Total: 299 450 182.9 435 3643
Percentage of the requests served within a certain time (ms)
50% 435
66% 444
75% 451
80% 455
90% 470
95% 487
98% 504
99% 525
100% 3643 (longest request)
в общем на мелком сервере кластер моде показал результаты хуже
хреново, что нода однопоточная и просто асинк
в общем перенес самый первый код на сервере где частота в турбобусте 4 ггц и на нем тест выдал меньше минуты , а точнее 52 секунды на 1кк запросов к ноде
time ab -n 1000000 -c 1000 213.239.193.89:3000
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, www.zeustech.net
Licensed to The Apache Software Foundation, www.apache.org
Server Software:
Server Hostname: 213.239.193.89
Server Port: 3000
Document Path: /
Document Length: 11 bytes
Concurrency Level: 1000
Time taken for tests: 51.813 seconds
Complete requests: 1000000
Failed requests: 0
Total transferred: 112000000 bytes
HTML transferred: 11000000 bytes
Requests per second: 19300.14 [#/sec] (mean)
Time per request: 51.813 [ms] (mean)
Time per request: 0.052 [ms] (mean, across all concurrent requests)
Transfer rate: 2110.95 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 3 22.1 3 3050
Processing: 7 48 6.5 47 101
Waiting: 3 35 6.5 34 89
Total: 18 52 22.7 50 3113
Percentage of the requests served within a certain time (ms)
50% 50
66% 51
75% 52
80% 53
90% 58
95% 65
98% 70
99% 76
100% 3113 (longest request)
real 0m52.433s
user 0m3.655s
sys 0m23.393s
Код ноды соотвественно простейший
const http = require('http');
const hostname = '213.239.193.89';
const port = 3000;
Ну что пока потратил минут 20 , написал простоейший хеловорлд запускаю просто node rom.js , тест на 1кк в 1000 потоков проходит за чуть больше 2минут, а на 2000 падает, но и сервер там всего на 2 ядра по 2 ггц.
time ab -n 1000000 -c 1000 88.198.184.18:3000
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, www.zeustech.net
Licensed to The Apache Software Foundation, www.apache.org
Server Software:
Server Hostname: 88.198.184.18
Server Port: 3000
Document Path: /
Document Length: 11 bytes
Concurrency Level: 1000
Time taken for tests: 121.276 seconds
Complete requests: 1000000
Failed requests: 0
Total transferred: 112000000 bytes
HTML transferred: 11000000 bytes
Requests per second: 8245.64 [#/sec] (mean)
Time per request: 121.276 [ms] (mean)
Time per request: 0.121 [ms] (mean, across all concurrent requests)
Transfer rate: 901.87 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 22 105.9 10 3051
Processing: 13 96 44.8 90 5816
Waiting: 1 71 40.5 66 5816
Total: 13 117 117.2 101 6855
Percentage of the requests served within a certain time (ms)
50% 101
66% 114
75% 122
80% 127
90% 142
95% 158
98% 238
99% 1074
100% 6855 (longest request)
real 2m2.222s
user 0m6.042s
sys 0m24.390s
ща погляжу логи , посмотрю во что упирается, вроде нода грузит всего половину процессоров и на 2к потоков должно ее хватать.
Василий Банников, давай простой хеловорд и тест на 1кк в минуту чтобы держало, будем делать без докера, так как у докера оверхед существенный
в целом для начала попробую на мелкой машине , если не получится запущу на мощной
код простейший , веб сервис слушает порт и выдает хеловорд и код 200
и да я сисадмин и не особо силен в программировании и со временем сейчас швах
заруба чисто посмотреть что получится
а вопрос на счет аспа он же наверно должен быть в иисе или как ? хотелось бы увидеть его на виндовой машине как и все его запускают в проде
с учетом того что поисковики учитывают поведенческие факторы и скорость загрузки сайтов для ранжирования , то все сайты бы просто напросто удалили нахрен все счетчики если бы они грузились не асинк в конце.
Василий Банников, хайлоад и большие проекты это разные вещи
Не смотрел бенчмарк но на ноде или го я могу за час сварганить сервер который будет делать 1кк в минуту скажем, а на дотнете не смогу и это при том что на ноде и го я не программировал, а в шарпей глубоко погружался в свое время.
Не надо путать хайлоад и большие проекты, не всегда большие проекты это хайлоад.
Василий Банников, у Додо хпйлоада не смешите мои тапки, там такая нагрузка что можно на любом языке не сильно вдаваясь в перформанс написать, никто по десять миллионов пиццы в минуту заказывать не будет, даже в день.
Да не область сложилась, а ножа изначально была написана асинхронно под хайлоад, поэтому на ней и пишут, так же как и го со своими горутинами хорошо заточен под это.