diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/get_alloc_prof.html b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/get_alloc_prof.html
new file mode 100644
index 000000000..96cb331a1
--- /dev/null
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/get_alloc_prof.html
@@ -0,0 +1,3125 @@
+
+
+
+
+
+
+
+Allocation profile
+
+
+
+
+
+Matched: ❌
+
diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/get_cpu_prof.html b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/get_cpu_prof.html
new file mode 100644
index 000000000..207e31a50
--- /dev/null
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/get_cpu_prof.html
@@ -0,0 +1,9911 @@
+
+
+
+
+
+
+
+CPU profile
+
+
+
+
+
+Matched: ❌
+
diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/get_lock_prof.html b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/get_lock_prof.html
new file mode 100644
index 000000000..3bd9787a2
--- /dev/null
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/get_lock_prof.html
@@ -0,0 +1,1066 @@
+
+
+
+
+
+
+
+Lock profile
+
+
+
+
+
+Matched: ❌
+
diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/put_alloc_prof.html b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/put_alloc_prof.html
new file mode 100644
index 000000000..7dbc22b49
--- /dev/null
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/put_alloc_prof.html
@@ -0,0 +1,3166 @@
+
+
+
+
+
+
+
+Allocation profile
+
+
+
+
+
+Matched: ❌
+
diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/put_cpu_prof.html b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/put_cpu_prof.html
new file mode 100644
index 000000000..a65351af9
--- /dev/null
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/put_cpu_prof.html
@@ -0,0 +1,10526 @@
+
+
+
+
+
+
+
+CPU profile
+
+
+
+
+
+Matched: ❌
+
diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/put_lock_prof.html b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/put_lock_prof.html
new file mode 100644
index 000000000..a1f9fe773
--- /dev/null
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/asyncprof/put_lock_prof.html
@@ -0,0 +1,1046 @@
+
+
+
+
+
+
+
+Lock profile
+
+
+
+
+
+Matched: ❌
+
diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/report5.md b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/report5.md
new file mode 100644
index 000000000..d34d381c1
--- /dev/null
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/report5.md
@@ -0,0 +1,49 @@
+# Отчёт по 5 стейджу.
+
+К сожалению, так как 4 стейдж я не делал, сравнений не будет,
+так как по сравнению с 3 серьёзные изменения в структуре.
+
+Также были изменены [скрипты](../scripts) в связи с добавлением
+параметров `ack = 2 и from = 3`, а также в скрипты была добавлена
+рандомизацией кластера.
+
+## wrk
+
+[пример](../report5/wrk/put)
+Тестил на 4 тредах и 16 коннекшенах. Точка разладки `12500`,
+соответственно тестим на 10000. Стоит отметить стабильную
+работу с многопоточкой, и получается заметное улучшение по скорости
+относительнно первых стейджей.
+
+## asyncprof
+
+### cpu
+
+[put cpu](../report5/asyncprof/put_cpu_prof.html)
+[get cpu](../report5/asyncprof/get_cpu_prof.html)
+
+Сразу стоит отметить значительное изменение
+распределие ресурсов процессора.
+Так `remote` занимает всего около 15% ресурсов процессора, так же как и
+обработка таски `completableFeature` и обработка её завершения
+в то время как почти вся остальная часть ресурсов уходит на скедулер и пакет
+`jdk/internal/net`
+
+### alloc
+
+[put alloc](../report5/asyncprof/put_alloc_prof.html)
+[get alloc](../report5/asyncprof/get_alloc_prof.html)
+
+Примерно 30 процентов приходится на всё тот же скедулер,
+а аллокации непосредственно обработки запроса (50%) связаны
+с хэдерами запросов, примерно 20%. Остальное это аллокации связанные с `CompletableFeature`,
+локальными переменными и получением результата.
+
+### lock
+
+[put lock](../report5/asyncprof/put_lock_prof.html)
+[get lock](../report5/asyncprof/get_lock_prof.html)
+
+С точки зрения локов картина довольно простая `CompletableFuture`
+забирают примерно 80%, что вполне логично.
+
diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/wrk/get b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/wrk/get
new file mode 100644
index 000000000..04e22b83e
--- /dev/null
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/wrk/get
@@ -0,0 +1,121 @@
+/wrk -d 30 -t 4 -c 16 -R 10000 -L -s /home/sbread/Desktop/labs/HLS/2024-highload-dht/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/get.lua http://localhost:8080
+Running 30s test @ http://localhost:8080
+ 4 threads and 16 connections
+ Thread calibration: mean lat.: 1.413ms, rate sampling interval: 10ms
+ Thread calibration: mean lat.: 1.369ms, rate sampling interval: 10ms
+ Thread calibration: mean lat.: 1.405ms, rate sampling interval: 10ms
+ Thread calibration: mean lat.: 1.378ms, rate sampling interval: 10ms
+ Thread Stats Avg Stdev Max +/- Stdev
+ Latency 1.58ms 2.27ms 44.00ms 98.69%
+ Req/Sec 2.63k 236.75 4.55k 80.29%
+ Latency Distribution (HdrHistogram - Recorded Latency)
+ 50.000% 1.32ms
+ 75.000% 1.77ms
+ 90.000% 2.21ms
+ 99.000% 5.20ms
+ 99.900% 38.49ms
+ 99.990% 42.56ms
+ 99.999% 43.55ms
+100.000% 44.03ms
+
+ Detailed Percentile spectrum:
+ Value Percentile TotalCount 1/(1-Percentile)
+
+ 0.194 0.000000 1 1.00
+ 0.702 0.100000 19992 1.11
+ 0.877 0.200000 39985 1.25
+ 1.023 0.300000 60009 1.43
+ 1.166 0.400000 80055 1.67
+ 1.315 0.500000 99965 2.00
+ 1.394 0.550000 109939 2.22
+ 1.478 0.600000 119966 2.50
+ 1.568 0.650000 129905 2.86
+ 1.666 0.700000 139942 3.33
+ 1.772 0.750000 149863 4.00
+ 1.830 0.775000 154863 4.44
+ 1.892 0.800000 159889 5.00
+ 1.959 0.825000 164901 5.71
+ 2.031 0.850000 169865 6.67
+ 2.113 0.875000 174931 8.00
+ 2.157 0.887500 177393 8.89
+ 2.207 0.900000 179830 10.00
+ 2.263 0.912500 182392 11.43
+ 2.327 0.925000 184852 13.33
+ 2.405 0.937500 187361 16.00
+ 2.449 0.943750 188567 17.78
+ 2.505 0.950000 189855 20.00
+ 2.569 0.956250 191084 22.86
+ 2.647 0.962500 192318 26.67
+ 2.751 0.968750 193573 32.00
+ 2.827 0.971875 194188 35.56
+ 2.923 0.975000 194811 40.00
+ 3.051 0.978125 195436 45.71
+ 3.233 0.981250 196054 53.33
+ 3.507 0.984375 196680 64.00
+ 3.699 0.985938 196992 71.11
+ 3.979 0.987500 197303 80.00
+ 4.531 0.989062 197615 91.43
+ 5.899 0.990625 197927 106.67
+ 7.459 0.992188 198242 128.00
+ 8.479 0.992969 198396 142.22
+ 11.551 0.993750 198552 160.00
+ 15.055 0.994531 198708 182.86
+ 18.927 0.995313 198865 213.33
+ 22.879 0.996094 199020 256.00
+ 24.815 0.996484 199100 284.44
+ 26.799 0.996875 199177 320.00
+ 28.991 0.997266 199254 365.71
+ 31.199 0.997656 199333 426.67
+ 33.567 0.998047 199410 512.00
+ 34.623 0.998242 199450 568.89
+ 35.519 0.998437 199488 640.00
+ 36.511 0.998633 199527 731.43
+ 37.663 0.998828 199568 853.33
+ 38.591 0.999023 199609 1024.00
+ 39.135 0.999121 199625 1137.78
+ 39.551 0.999219 199644 1280.00
+ 40.031 0.999316 199667 1462.86
+ 40.287 0.999414 199684 1706.67
+ 40.831 0.999512 199703 2048.00
+ 41.055 0.999561 199713 2275.56
+ 41.215 0.999609 199722 2560.00
+ 41.375 0.999658 199734 2925.71
+ 41.599 0.999707 199742 3413.33
+ 41.983 0.999756 199753 4096.00
+ 42.047 0.999780 199757 4551.11
+ 42.143 0.999805 199763 5120.00
+ 42.207 0.999829 199766 5851.43
+ 42.335 0.999854 199771 6826.67
+ 42.463 0.999878 199778 8192.00
+ 42.559 0.999890 199783 9102.22
+ 42.559 0.999902 199783 10240.00
+ 42.559 0.999915 199783 11702.86
+ 42.623 0.999927 199788 13653.33
+ 42.623 0.999939 199788 16384.00
+ 42.687 0.999945 199791 18204.44
+ 42.687 0.999951 199791 20480.00
+ 42.719 0.999957 199793 23405.71
+ 42.719 0.999963 199793 27306.67
+ 42.751 0.999969 199794 32768.00
+ 42.911 0.999973 199795 36408.89
+ 42.943 0.999976 199796 40960.00
+ 42.943 0.999979 199796 46811.43
+ 43.103 0.999982 199797 54613.33
+ 43.103 0.999985 199797 65536.00
+ 43.551 0.999986 199798 72817.78
+ 43.551 0.999988 199798 81920.00
+ 43.551 0.999989 199798 93622.86
+ 43.903 0.999991 199799 109226.67
+ 43.903 0.999992 199799 131072.00
+ 43.903 0.999993 199799 145635.56
+ 43.903 0.999994 199799 163840.00
+ 43.903 0.999995 199799 187245.71
+ 44.031 0.999995 199800 218453.33
+ 44.031 1.000000 199800 inf
+#[Mean = 1.575, StdDeviation = 2.271]
+#[Max = 44.000, Total count = 199800]
+#[Buckets = 27, SubBuckets = 2048]
+----------------------------------------------------------
+ 299922 requests in 30.00s, 19.94MB read
+Requests/sec: 9997.21
+Transfer/sec: 680.65KB
diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/wrk/put b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/wrk/put
new file mode 100644
index 000000000..891aa39a3
--- /dev/null
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/report5/wrk/put
@@ -0,0 +1,117 @@
+./wrk -d 30 -t 4 -c 16 -R 10000 -L -s /home/sbread/Desktop/labs/HLS/2024-highload-dht/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/put.lua http://localhost:8080
+Running 30s test @ http://localhost:8080
+ 4 threads and 16 connections
+ Thread calibration: mean lat.: 6.402ms, rate sampling interval: 10ms
+ Thread calibration: mean lat.: 6.361ms, rate sampling interval: 10ms
+ Thread calibration: mean lat.: 6.064ms, rate sampling interval: 10ms
+ Thread calibration: mean lat.: 6.428ms, rate sampling interval: 10ms
+ Thread Stats Avg Stdev Max +/- Stdev
+ Latency 1.64ms 1.73ms 34.72ms 96.25%
+ Req/Sec 2.64k 236.32 4.55k 70.93%
+ Latency Distribution (HdrHistogram - Recorded Latency)
+ 50.000% 1.37ms
+ 75.000% 1.82ms
+ 90.000% 2.35ms
+ 99.000% 8.48ms
+ 99.900% 24.69ms
+ 99.990% 30.77ms
+ 99.999% 34.46ms
+100.000% 34.75ms
+
+ Detailed Percentile spectrum:
+ Value Percentile TotalCount 1/(1-Percentile)
+
+ 0.241 0.000000 1 1.00
+ 0.738 0.100000 19989 1.11
+ 0.922 0.200000 40056 1.25
+ 1.078 0.300000 60083 1.43
+ 1.225 0.400000 79931 1.67
+ 1.370 0.500000 99947 2.00
+ 1.444 0.550000 109936 2.22
+ 1.522 0.600000 119880 2.50
+ 1.609 0.650000 129875 2.86
+ 1.706 0.700000 139928 3.33
+ 1.822 0.750000 149932 4.00
+ 1.886 0.775000 154904 4.44
+ 1.955 0.800000 159860 5.00
+ 2.033 0.825000 164829 5.71
+ 2.121 0.850000 169833 6.67
+ 2.225 0.875000 174869 8.00
+ 2.283 0.887500 177328 8.89
+ 2.351 0.900000 179833 10.00
+ 2.433 0.912500 182350 11.43
+ 2.531 0.925000 184803 13.33
+ 2.675 0.937500 187315 16.00
+ 2.783 0.943750 188571 17.78
+ 2.919 0.950000 189798 20.00
+ 3.113 0.956250 191048 22.86
+ 3.371 0.962500 192302 26.67
+ 3.721 0.968750 193550 32.00
+ 3.919 0.971875 194173 35.56
+ 4.159 0.975000 194797 40.00
+ 4.487 0.978125 195419 45.71
+ 4.999 0.981250 196044 53.33
+ 5.891 0.984375 196665 64.00
+ 6.499 0.985938 196977 71.11
+ 7.175 0.987500 197289 80.00
+ 7.931 0.989062 197601 91.43
+ 8.935 0.990625 197916 106.67
+ 10.319 0.992188 198227 128.00
+ 11.255 0.992969 198382 142.22
+ 12.343 0.993750 198538 160.00
+ 13.543 0.994531 198695 182.86
+ 14.791 0.995313 198850 213.33
+ 16.255 0.996094 199008 256.00
+ 17.087 0.996484 199084 284.44
+ 18.047 0.996875 199164 320.00
+ 18.847 0.997266 199241 365.71
+ 20.239 0.997656 199319 426.67
+ 21.519 0.998047 199396 512.00
+ 22.111 0.998242 199436 568.89
+ 22.767 0.998437 199476 640.00
+ 23.455 0.998633 199514 731.43
+ 24.127 0.998828 199552 853.33
+ 24.751 0.999023 199591 1024.00
+ 24.975 0.999121 199612 1137.78
+ 25.199 0.999219 199630 1280.00
+ 25.439 0.999316 199650 1462.86
+ 25.935 0.999414 199670 1706.67
+ 26.207 0.999512 199689 2048.00
+ 26.431 0.999561 199699 2275.56
+ 26.671 0.999609 199708 2560.00
+ 26.927 0.999658 199718 2925.71
+ 27.359 0.999707 199729 3413.33
+ 27.615 0.999756 199738 4096.00
+ 27.919 0.999780 199743 4551.11
+ 28.079 0.999805 199747 5120.00
+ 28.415 0.999829 199752 5851.43
+ 28.703 0.999854 199757 6826.67
+ 29.119 0.999878 199762 8192.00
+ 30.655 0.999890 199765 9102.22
+ 30.863 0.999902 199767 10240.00
+ 31.247 0.999915 199769 11702.86
+ 31.999 0.999927 199772 13653.33
+ 32.399 0.999939 199774 16384.00
+ 32.895 0.999945 199776 18204.44
+ 33.087 0.999951 199777 20480.00
+ 33.407 0.999957 199778 23405.71
+ 33.535 0.999963 199779 27306.67
+ 33.951 0.999969 199780 32768.00
+ 34.175 0.999973 199781 36408.89
+ 34.239 0.999976 199782 40960.00
+ 34.239 0.999979 199782 46811.43
+ 34.271 0.999982 199783 54613.33
+ 34.271 0.999985 199783 65536.00
+ 34.463 0.999986 199784 72817.78
+ 34.463 0.999988 199784 81920.00
+ 34.463 0.999989 199784 93622.86
+ 34.751 0.999991 199786 109226.67
+ 34.751 1.000000 199786 inf
+#[Mean = 1.644, StdDeviation = 1.726]
+#[Max = 34.720, Total count = 199786]
+#[Buckets = 27, SubBuckets = 2048]
+----------------------------------------------------------
+ 299909 requests in 30.00s, 16.87MB read
+Requests/sec: 9997.09
+Transfer/sec: 576.00KB
+
diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/delete.lua b/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/delete.lua
index b9f932bd4..9eddfe7d1 100644
--- a/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/delete.lua
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/delete.lua
@@ -3,8 +3,8 @@ id = 0
function request()
curId = id
id = id + 1
- path = "/v0/entity?id=key" .. curId
+ path = "/v0/entity?id=key" .. curId .. "&ack=2&from=3"
headers = {}
- headers["Host"] = "localhost:8080"
+ headers["Host"] = "localhost:808" .. string.char(math.random(1, 4))
return wrk.format("DELETE", path, headers)
end
diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/get.lua b/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/get.lua
index 3ed630fda..297c85668 100644
--- a/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/get.lua
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/get.lua
@@ -3,8 +3,8 @@ id = 0
function request()
curId = id
id = id + 1
- path = "/v0/entity?id=key" .. curId
+ path = "/v0/entity?id=key" .. curId .. "&ack=2&from=3"
headers = {}
- headers["Host"] = "localhost:8080"
+ headers["Host"] = "localhost:808" .. string.char(math.random(1, 4))
return wrk.format("GET", path, headers)
end
diff --git a/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/put.lua b/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/put.lua
index f87fed66c..03d96ab41 100644
--- a/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/put.lua
+++ b/src/main/java/ru/vk/itmo/test/osipovdaniil/scripts/put.lua
@@ -3,9 +3,9 @@ id = 0
function request()
curId = id
id = id + 1
- path = "/v0/entity?id=key" .. curId
+ path = "/v0/entity?id=key" .. curId .. "&ack=2&from=3"
headers = {}
- headers["Host"] = "localhost:8080"
+ headers["Host"] = "localhost:808" .. string.char(math.random(1, 4))
value = "value" .. curId
return wrk.format("PUT", path, headers, value)
end