{"id":355281,"date":"2024-05-20T23:05:27","date_gmt":"2024-05-20T23:05:27","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=355281"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=355281","title":{"rendered":"<span>\u041d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0439 \u043f\u043e\u0435\u0434\u0438\u043d\u043e\u043a \u043c\u0435\u0436\u0434\u0443 Tarantool 2.10 \u0438 Hazelcast 4.5.4<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/fea\/b72\/61c\/feab7261c5a4743f1abc3949717c028a.jpeg\" width=\"1600\" height=\"900\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fea\/b72\/61c\/feab7261c5a4743f1abc3949717c028a.jpeg\" data-blurred=\"true\"\/><\/figure>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u0435\u043d\u0438\u0441 \u041c\u0430\u043a\u0430\u0440\u043e\u0432, \u044f \u0431\u044d\u043a\u0435\u043d\u0434-\u0442\u0438\u043c\u043b\u0438\u0434 \u0432\u00a0<a href=\"https:\/\/kts.studio\/\"><u>KTS<\/u><\/a>.<\/p>\n<p>\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437 \u043c\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u043b\u0438\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/kts\/articles\/730518\/\">Tarantool \u0441 Redis<\/a>, \u0430 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0442\u0435\u0441\u0442\u044b \u0441 Hazelcast. \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u043e\u0439, \u043d\u0430\u0448\u0438\u043c \u0431\u044d\u043a\u0435\u043d\u0434-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u0438 \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u0431\u043b\u043e\u0433\u0430\u00a0<a href=\"https:\/\/habr.com\/ru\/users\/linatimelord\/\"><u>\u041b\u0438\u043d\u043e\u0439 \u041a\u043e\u0441\u0442\u044f\u043d<\/u><\/a>.<\/p>\n<div class=\"persona\" persona=\"true\"><img decoding=\"async\" persona=\"true\" class=\"image persona__image\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9ec\/0a2\/69f\/9ec0a269ffe897bbc109852b504e6677.jpeg\" data-src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9ec\/0a2\/69f\/9ec0a269ffe897bbc109852b504e6677.jpeg\" data-blurred=\"true\"\/><\/p>\n<h5 class=\"persona__heading\" persona=\"true\">\u0414\u0435\u043d\u0438\u0441 \u041c\u0430\u043a\u0430\u0440\u043e\u0432<\/h5>\n<p>\u0411\u044d\u043a\u0435\u043d\u0434-\u0442\u0438\u043c\u043b\u0438\u0434<\/p>\n<\/div>\n<div class=\"persona\" persona=\"true\"><img decoding=\"async\" persona=\"true\" class=\"image persona__image\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a7a\/361\/17c\/a7a36117c719e90ee5d648913caa87e2.jpeg\" data-src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a7a\/361\/17c\/a7a36117c719e90ee5d648913caa87e2.jpeg\" data-blurred=\"true\"\/><\/p>\n<h5 class=\"persona__heading\" persona=\"true\">\u041b\u0438\u043d\u0430 \u041a\u043e\u0441\u0442\u044f\u043d<\/h5>\n<p>\u0411\u044d\u043a\u0435\u043d\u0434-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a<\/p>\n<\/div>\n<p>\u0422\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442 Tarantool \u043a\u0430\u043a \u0437\u0430\u043c\u0435\u043d\u044b: \u0431\u0435\u0440\u0451\u043c \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0435 \u043a\u0435\u0439\u0441\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Hazelcast \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438 \u043d\u0430 Tarantool.<\/p>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u00a0<a href=\"#com1\">\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438.<\/a><\/p>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f\u00a0Redis,\u00a0Tarantool\u00a0\u0438\u00a0Hazelcast \u0434\u043b\u044f\u00a0K6 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435:\u00a0<a href=\"https:\/\/github.com\/ktsstudio\/tarantool-k6-load-test-scenarios\">https:\/\/github.com\/ktsstudio\/tarantool-k6-load-test-scenarios<\/a><\/p>\n<p>\u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u00a0<a href=\"https:\/\/k6.io\/\"><u>Grafana K6<\/u><\/a>\u00a0\u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043d\u0430 JavaScript \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041e\u043d \u0438\u043c\u0435\u0435\u0442 \u0448\u0438\u0440\u043e\u043a\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0438 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c\u0438, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a HTTP, WebSocket, gRPC \u0438 \u0442.\u0434.\u00a0<\/p>\n<p>Grafana K6 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u0442\u0430\u043a \u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 Grafana. \u0423\u0434\u043e\u0431\u043d\u043e\u0439 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e K6 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u041a6. \u0422\u0430\u043a, \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u041a6 \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 Tarantool, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u00a0<a href=\"https:\/\/github.com\/tarantool\/xk6-tarantool\">\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 xk6-tarantool<\/a>.\u00a0<\/p>\n<p>\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Hazelcast \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u043b\u0430\u0433\u0438\u043d\u00a0<a href=\"https:\/\/github.com\/LinaProg\/xk6-hazelcast\">xk6-hazelcast<\/a>.<strong>\u00a0<\/strong>\u0414\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u041a6 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0443\u0436\u043d\u044b\u0445 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439.<\/p>\n<blockquote>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/strong>\u00a0\u0432\u0441\u0435 \u0442\u0435\u0441\u0442\u044b \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0430\u0445, \u0438 \u044d\u0442\u043e \u043c\u043e\u0433\u043b\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439<\/p>\n<\/blockquote>\n<p>\u0417\u0430 \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 6 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432:<\/p>\n<ul>\n<li>\n<p><a href=\"#1\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 1: key-value c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438 set\/get\/delete<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#1h\">Hazelcast<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#1t\">Tarantool<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#1sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#1v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#2\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 2: \u0441\u0447\u0451\u0442\u0447\u0438\u043a c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438 incr\/decr<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#2h\">Hazelcast<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#2t\">Tarantool<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#2sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#2v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#3\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 3: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430\u043c\u0438<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#3h\">Hazelcast<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#3t\">Tarantool<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#3sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#3v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#4\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 4: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0438\u0441\u043a\u043e\u043c<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#4h\">Hazelcast<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#4t\">Tarantool\u00a0<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#4sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#4v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#5\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 5: \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#5h\">Hazelcast<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#5t\">Tarantool<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#5sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#5v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#6\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 6: \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#6h\">Hazelcast master-slave<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#6t\">Tnt master-slave<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#6sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#6v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#com\">\u041e\u0431\u0449\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u044b \u0438\u0437 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#com1\">\u0421\u043e\u0432\u0441\u0435\u043c \u043a\u0440\u0430\u0442\u043a\u043e<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 1-5 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0438\u0441\u044c \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u043c\u0438: Ubuntu, 4CPU, 16GB RAM, 30GB SSD.<\/p>\n<p>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 6 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0441\u044f \u043d\u0430 \u0434\u0432\u0443\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445 Ubuntu, 4CPU 16GB RAM, 30GB SSD.<\/p>\n<p>\u0412\u0441\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0438\u0441\u044c \u0441 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 100 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e 120 \u0441\u0435\u043a\u0443\u043d\u0434.<\/p>\n<p><a class=\"anchor\" name=\"1\" id=\"1\"><\/a><\/p>\n<h3>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 1: key-value c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438 set\/get\/delete<\/h3>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c SET\/GET\/DEL \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 Hazelcast \u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438 \u0432 Tarantool.<\/p>\n<p><strong>Hazelcast:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/p>\n<p><strong>Tarantool:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<br \/>\u0421\u043f\u0435\u0439\u0441 \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 (key string, value string)<\/p>\n<h4>? Hazelcast<\/h4>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 k6<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">import hazelcast from \"k6\/x\/hazelcast\"; import exec from \"k6\/execution\";  export const options = {     discardResponseBodies: true,     scenarios: {         test: {             executor: \"constant-vus\",             exec: \"set_keys\",             vus: 100,             duration: \"120s\",         },         test: {             executor: \"constant-vus\",             exec: \"get_keys\",             vus: 100,             duration: \"120s\",         },         test: {             executor: \"constant-vus\",             exec: \" del_keys\",             vus: 100,             duration: \"120s\",         },     }, };   const client = hazelcast.connect([\u201chost:port\u201d]);  const map = hazelcast.getMap(client, \"test\");  export function set_keys() {     hazelcast.set(map, exec.vu.iterationInInstance + exec.vu.idInInstance * 100, exec.vu         .iterationInInstance + exec.vu.idInInstance * 1000); } export function get_keys() {     hazelcast.get(map, exec.vu.iterationInInstance + exec.vu.idInInstance * 100); }  export function del_keys() {     hazelcast.del(map, exec.vu.iterationInInstance + exec.vu.idInInstance * 100); }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p><em>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 set_keys, get_keys, del_keys \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438\u0441\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e.\u00a0<\/em><\/p>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">5.1ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">105.61\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.55ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">85.24ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.59ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.86ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">81.02\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.75ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">206.83ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.63ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.79ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">80.64\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.72ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">74.16ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.43ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.87ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">19509<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">25736<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26170<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"1t\" id=\"1t\"><\/a><\/p>\n<h4>? Tarantool<\/h4>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043f\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">import tarantool from \"k6\/x\/tarantool\"; import exec from 'k6\/execution';  const conn = tarantool.connect(\u201chost:port\u201d); export const options = {     discardResponseBodies: true,     scenarios: {         set: {             executor: 'constant-vus',             exec: 'set',             vus: 100,             duration: '120s',         },         get: {             executor: 'constant-vus',             exec: 'get',             vus: 100,             duration: '120s',         },         del: {             executor: 'constant-vus',             exec: 'del',             vus: 100,             duration: '120s',         },     }, };  export function set() {     tarantool.replace(conn, \"test\", [exec.vu.iterationInInstance + exec.vu.idInInstance * 100, (exec.vu.iterationInInstance + exec.vu.idInInstance * 100).toString()]) }; export function get() {     tarantool.call(conn, \"box.space.test:select\", [exec.vu.iterationInInstance + exec.vu.idInInstance * 100]) }; export function del() {     tarantool.call(conn, \"box.space.test:delete\", [exec.vu.iterationInInstance + exec.vu.idInInstance * 100])  };<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p><em>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 set_keys, get_keys, del_keys \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438\u0441\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e.\u00a0<\/em><\/p>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">4.14ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">122.3\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.21ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">60.34ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.31ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.85ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.17ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">89.51\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.58ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">71.09ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.69ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.85ms<\/p>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.46ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">114.76\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.74ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">61.46ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.38ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.84ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26813<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">33250<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">30873<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"1sr\" id=\"1sr\"><\/a><\/p>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f\u00a0 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">19509<\/p>\n<\/td>\n<td>\n<p align=\"left\">26813<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">25736<\/p>\n<\/td>\n<td>\n<p align=\"left\">33250<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26170<\/p>\n<\/td>\n<td>\n<p align=\"left\">30873<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0435 \u0438 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044f\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td rowspan=\"2\">\n<p align=\"left\">\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.55ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.59ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.21ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.31ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.85ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.75ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.63ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.58ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.69ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.85ms<\/p>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.72ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.43ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.87ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.74ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.38ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.84ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"1v\" id=\"1v\"><\/a><\/p>\n<h4>\u0412\u044b\u0432\u043e\u0434<\/h4>\n<p>Tarantool \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0435\u0435 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u044b\u0441\u044f\u0447 rps \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 \u0437\u0430\u043f\u0438\u0441\u0438, \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p><a class=\"anchor\" name=\"2\" id=\"2\"><\/a><\/p>\n<hr\/>\n<h3>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 2. \u0421\u0447\u0451\u0442\u0447\u0438\u043a<\/h3>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c Increment \u0438 Decrement \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0435 \u0432 Hazelcast \u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 update \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 Tarantool.<\/p>\n<p>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 incr \u0438 decr \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e.\u00a0<\/p>\n<p><strong>Hazelcast:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/p>\n<p><strong>Tarantool:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<br \/>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u043f\u0435\u0439\u0441 \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 (key string, value integer)<\/p>\n<p><a class=\"anchor\" name=\"2h\" id=\"2h\"><\/a><\/p>\n<h4>? Hazelcast<\/h4>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 k6<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">import hazelcast from \"k6\/x\/hazelcast\"; import exec from \"k6\/execution\";  export const options = {     discardResponseBodies: true,     scenarios: {         test_incr: {             executor: 'constant-vus',             exec: 'incr',             vus: 100,             duration: '120s',         },         test_decr: {             executor: 'constant-vus',             exec: 'decr',             vus: 100,             duration: '120s',         },     }, };  const client = hazelcast.connect([\u201chost:port\u201d]);  export function incr() {     hazelcast.incr(client,'test'+exec.vu.idInInstance); } export function decr() {     hazelcast.decr(client,'test'+exec.vu.idInInstance); }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">6.98ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">69.04\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.26ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">131.56ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">15.36ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">18.94ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">28533<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"2t\" id=\"2t\"><\/a><\/p>\n<h4>? Tarantool<\/h4>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043f\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Tarantool<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"lua\">box.cfg{listen=\"127.0.0.1:3301\"} box.schema.space.create(\"test\") box.space.test2:format({{name=\"name\", type=\"string\"}, {name=\"value\", type=\"integer\"}}) box.space.test2:create_index(\"primary\", {parts={\"name\"}})<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043f\u0442 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 k6<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">import tarantool from \"k6\/x\/tarantool\"; import exec from 'k6\/execution';   const conn = tarantool.connect(\"host:port\"); export const options = {    discardResponseBodies: true,    scenarios: {        incr: {            executor: 'constant-vus',            exec: 'decr',            vus: 100,            duration: '120s',        },        decr: {            executor: 'constant-vus',            exec: 'decr',            vus: 100,            duration: '120s',        },    }, }; export function setup() {    for (let i = 1; i &lt; 101; i++) {        tarantool.replace(conn, \"test\", [i.toString(), 0]);      }     }; export function incr() {    tarantool.call(conn, \"box.space.test:update\", [exec.vu.idInInstance.toString(), [[\"+\", 2, 1]]]) } export function decr() {    tarantool.call(conn, \"box.space.test:update\", [exec.vu.idInInstance.toString(), [[\"-\", 2, 1]]])    }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.06ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">100.01\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.51ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">72.29ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.26ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.05ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"2sr\" id=\"2sr\"><\/a><\/p>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">32552<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f\u00a0 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">28533<\/p>\n<\/td>\n<td>\n<p align=\"left\">32552<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0435 \u0438 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044f\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<p><a class=\"anchor\" name=\"2v\" id=\"2v\"><\/a><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td rowspan=\"2\">\n<p align=\"left\">\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">5.26ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">15.36ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">18.94ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.51ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.26ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.05ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0412\u044b\u0432\u043e\u0434<\/h4>\n<p>Tarantool \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0435\u0435 \u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 incr\/decr.<\/p>\n<p><a class=\"anchor\" name=\"3\" id=\"3\"><\/a><\/p>\n<hr\/>\n<h3>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 3. \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430\u043c\u0438<\/h3>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c set \u0438 get \u0434\u043b\u044f multimap&#8230; \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432 Tarantool.<\/p>\n<p><strong>Hazelcast:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/p>\n<p><strong>Tarantool:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<br \/>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u043f\u0435\u0439\u0441 kv \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 (key string, element string)<\/p>\n<p><a class=\"anchor\" name=\"3h\" id=\"3h\"><\/a><\/p>\n<h4>? Hazelcast<\/h4>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 k6<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">import hazelcast from \"k6\/x\/hazelcast\"; import exec from \"k6\/execution\";  export const options = {     discardResponseBodies: true,     scenarios: {         test: {             executor: \"constant-vus\",             exec: \"set_keys\",             vus: 100,             duration: \"120s\",         },     }, };   const client = hazelcast.connect([\u201chost:port\u201d]);  const map = hazelcast.getMultimap(client, \"multi_test\");  export function set_keys() {     hazelcast.multimapSet(map, 'test'+exec.vu.idInInstance*1000, exec.vu.iterationInInstance + exec.vu.idInInstance * 100, exec.vu         .iterationInInstance + exec.vu.idInInstance * 1000); } export function get_keys() {     hazelcast.multimapMembers(map, exec.vu.iterationInInstance + exec.vu.idInInstance * 100); }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">5.74ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">112.09\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.91ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">127.62ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">13.09ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">17.16ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">4.11ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">80.38\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.85ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">144.19ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">9.22ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">12.07ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">17301<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">24132<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"3t\" id=\"3t\"><\/a><\/p>\n<h4>? Tarantool<\/h4>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043f\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"lua\">box.cfg{listen=\"127.0.0.1:3301\"} box.schema.space.create(\"test\") box.schema.sequence.create('S',{min=1, start=1}) box.space.test4:format({{name=\"id\", type=\"unsigned\"},{name=\"name\", type=\"string\"}, {name=\"value\", type=\"string\"}}) box.space.test4:create_index(\"primary\", {sequence='S', parts={\"id\"}}) box.space.test4:create_index(\"name\", {unique=false, parts={\"name\"}})<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 K6<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">import tarantool from \"k6\/x\/tarantool\"; import exec from 'k6\/execution';   const conn = tarantool.connect(\u201chost:port\u201d); export const options = {     discardResponseBodies: true,     scenarios: {         add: {             executor: 'constant-vus',             exec: 'add',             vus: 100,             duration: '120s',         },         members: {             executor: 'constant-vus',             exec: 'members',             vus: 100,             duration: '120s',         },     }, };   export function add() {     tarantool.insert(conn, \"test\", [null, (exec.vu.idInInstance*1000).toString(), (exec.vu.iterationInInstance + exec.vu.idInInstance * 100).toString()]) } export function members() {     tarantool.call(conn, \"box.space.test.index.name:select\", [(exec.vu.idInInstance*1000).toString()]) }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">4.45 ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">126.08 \u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.47ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">73.07 ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.93ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.73ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.34 ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">104.19 \u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.71ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">73.04 ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.98 ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.33 ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">22355<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">29766<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"3sr\" id=\"3sr\"><\/a><\/p>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f\u00a0 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">17301<\/p>\n<\/td>\n<td>\n<p align=\"left\">22355<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">24132<\/p>\n<\/td>\n<td>\n<p align=\"left\">29766<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0435 \u0438 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044f\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<p><a class=\"anchor\" name=\"3v\" id=\"3v\"><\/a><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td rowspan=\"2\">\n<p align=\"left\">\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.91ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">13.09ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">17.16ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.47ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.93ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.73ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.85ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">9.22ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">12.07ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.71ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.98ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.33ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0412\u044b\u0432\u043e\u0434<\/h4>\n<p>\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430\u043c\u0438 Tarantool \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0435\u0435 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u044b\u0441\u044f\u0447 RPS \u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0447\u0442\u0435\u043d\u0438\u044f.<\/p>\n<p><a class=\"anchor\" name=\"4\" id=\"4\"><\/a><\/p>\n<hr\/>\n<h3>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 4. \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0438\u0441\u043a\u043e\u043c<\/h3>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b Set\/Get\/\u2026 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432 Tarantool.\u00a0<\/p>\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 1, \u043c\u0435\u043d\u044f\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0411\u0414. \u0426\u0435\u043b\u044c \u0442\u0435\u0441\u0442\u0430 \u2014 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0438\u0441\u043a\u043e\u043c Hazelcast vs Tarantool.<\/p>\n<p><strong>Hazelcast:<\/strong>\u0414\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u043c\u0435\u043d\u044f\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 persistence enabled (false, true) \u0438 fsync (false, true)<\/p>\n<p><strong>Tarantool:<\/strong>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u043f\u0435\u0439\u0441 kv \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 (key string, element string). \u0414\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u043c\u0435\u043d\u044f\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 wal_mode (none, write, fsync)<\/p>\n<p><a class=\"anchor\" name=\"4h\" id=\"4h\"><\/a><\/p>\n<h4>? Hazelcast<\/h4>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 persistence: true, fsync: true<\/h4>\n<h3>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">5.22ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">110.18\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.62ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">142.03ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.88ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">15.45ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.8ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">77.36\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.71ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">67.69ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.45ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.9ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.81ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">83.14\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.71ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">114.89ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.51ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.99ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">19051<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26160<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26042<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>persistence: true, fsync: false<\/h4>\n<h3>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">4.91ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">103.5\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.46ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">109.04ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.07ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">14.39ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.72ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">78.58\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.65ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">103.97ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.26ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.69ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.68ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">80.38\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.63ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">77.61ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.19ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.56ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">20233<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26702<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26947<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>persistence: false, fsync: false<\/h4>\n<h3>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">5.1ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">105.61\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.55ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">85.24ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.59ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.86ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">81.02\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.75ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">206.83ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.63ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.79ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">80.64\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.72ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">74.16ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.43ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.87ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">19509<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">25736<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26170<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"4t\" id=\"4t\"><\/a><\/p>\n<h4>? Tarantool, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>wal_mode Write<\/h4>\n<h3>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.78ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">117.33\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.94ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">53.07ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.51ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">9.93ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.7ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">86.38\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.18ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">45.22ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.72ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.7ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.93ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">108.13\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.32ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">70.4ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.29ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.35ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26813<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">33250<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">30873<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>wal_mode: None<\/h4>\n<h3>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.82ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">76.2\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.2ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">41.77ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.85ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.36ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.28ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">95.29\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.66ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">57.78ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.9ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.23ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.9ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">87.79\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.32ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">56.83ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.17ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.25ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26335<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">33017<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">34273<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>wal_mode: Fsync<\/h4>\n<h3>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">4.14ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">122.3\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.21ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">60.34ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.31ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.85ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.17ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">89.51\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.58ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">71.09ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.69ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.85ms<\/p>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.46ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">114.76\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.74ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">61.46ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.38ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.84ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">25055<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">31342<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">28758<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"4sr\" id=\"4sr\"><\/a><\/p>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f\u00a0 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td rowspan=\"2\" data-colwidth=\"234\" width=\"234\">\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>persistence: true, fsync: false<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>wal_mode Write<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">20233<\/p>\n<\/td>\n<td>\n<p align=\"left\">26813<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26702<\/p>\n<\/td>\n<td>\n<p align=\"left\">33250<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26947<\/p>\n<\/td>\n<td>\n<p align=\"left\">30873<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>persistence: false, fsync: false<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>wal_mode: None<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">21509<\/p>\n<\/td>\n<td>\n<p align=\"left\">26335<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26736<\/p>\n<\/td>\n<td>\n<p align=\"left\">33017<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\">Del_keys<\/p>\n<\/td>\n<td>\n<p align=\"left\">26870<\/p>\n<\/td>\n<td>\n<p align=\"left\">34273<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>persistence: true, fsync: true<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>wal_mode: Fsync<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\">Set_keys<\/p>\n<\/td>\n<td>\n<p align=\"left\">19051<\/p>\n<\/td>\n<td>\n<p align=\"left\">25055<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\">Get_keys<\/p>\n<\/td>\n<td>\n<p align=\"left\">26160<\/p>\n<\/td>\n<td>\n<p align=\"left\">31342<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\">Del_keys<\/p>\n<\/td>\n<td>\n<p align=\"left\">26042<\/p>\n<\/td>\n<td>\n<p align=\"left\">28758<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0435 \u0438 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044f\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td rowspan=\"3\">\n<p align=\"left\">\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\">\n<p align=\"left\"><strong>persistence: true, fsync: false<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>wal_mode: write<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.46ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.07ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">14.39ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.94ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.51ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">9.93ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.65ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.26ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.69ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.18ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.72ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.7ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.63ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.19ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.56ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.32ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.29ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.35ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>persistence: false, fsync: false<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>wal_mode: None<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.55ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.59ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.28ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.85ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.36ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.75ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.63ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.66ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.9ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.23ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.72ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.43ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.87ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.32ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.17ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.25ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>persistence: true, fsync: true<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>wal_mode: fsync<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.62ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.88ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">15.45ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.21ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.31ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.85ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.71ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.45ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.9ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.58ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.69ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.85ms<\/p>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.71ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.51ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.99ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.74ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.38ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.84ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"4v\" id=\"4v\"><\/a><\/p>\n<h4>\u0412\u044b\u0432\u043e\u0434<\/h4>\n<p>\u041f\u0440\u0438 \u043b\u044e\u0431\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u0430 Tarantool \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0435\u0435. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u0434\u0430\u0436\u0435 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043f\u043e\u043b\u043d\u043e\u0439 \u043f\u0435\u0440\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438 Tarantool \u0431\u044b\u0441\u0442\u0440\u0435\u0435 Hazelcast, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (persistance: false).<\/p>\n<p><a class=\"anchor\" name=\"5\" id=\"5\"><\/a><\/p>\n<hr\/>\n<h3>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 5. \u0412\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b<\/h3>\n<p>Kv \u0432 tarantool (id, value) \u0441\u043e \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c \u043d\u0430 value.<\/p>\n<p>\u0412 hazelcast \u0441\u043e \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u043c hash \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c \u043d\u0430 \u201cthis\u201d .<\/p>\n<p><a class=\"anchor\" name=\"5t\" id=\"5t\"><\/a><\/p>\n<h4>? Tarantool<\/h4>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043f\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"lua\">box.cfg{listen=\"127.0.0.1:3301\"} box.schema.space.create(\"test\") box.space.test6:format({{name=\"id\", type=\"unsigned\"}, {name=\"value\", type=\"string\"}}) box.space.test6:create_index(\"primary\", {parts={\"id\"}}) box.space.test6:create_index(\"secondary\", {parts={\"value\"}})<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.43ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">112.54\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.68ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">48.15ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.63ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.96ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.73ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">82.87\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.21ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">56.86ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.78ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.7ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">29031<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">36382<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"5h\" id=\"5h\"><\/a><\/p>\n<h4>? Hazelcast<\/h4>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043f\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"lua\">const map = hazelcast.getMap(client, \"test\");  hazelcast.addIndex(map,[\"this\"], \"value\");<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">5.13ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">99.21\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.52ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">204.68ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.62ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">15.36ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.8ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">77.39\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.71ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">60.73ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.48ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.95ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">19370<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26126<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"5sr\" id=\"5sr\"><\/a><\/p>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f\u00a0 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">19370<\/p>\n<\/td>\n<td>\n<p align=\"left\">29031<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26126<\/p>\n<\/td>\n<td>\n<p align=\"left\">36382<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0435 \u0438 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044f\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<p><a class=\"anchor\" name=\"5v\" id=\"5v\"><\/a><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td rowspan=\"2\">\n<p align=\"left\">\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.52ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.62ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">15.36ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.26ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.27ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">12.15ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.71ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.48ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.95ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.86ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.32ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">9.41ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0412\u044b\u0432\u043e\u0434<\/h4>\n<p>\u041e\u0431\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0443\u043c\u0435\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u043c\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c\u0438 \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb, \u043e\u0434\u043d\u0430\u043a\u043e Tarantool \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0435\u0435 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u044b\u0441\u044f\u0447 rps.<\/p>\n<p><a class=\"anchor\" name=\"6\" id=\"6\"><\/a><\/p>\n<hr\/>\n<h3>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 6. \u0412\u043b\u0438\u044f\u043d\u0438\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/h3>\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 1, \u043c\u0435\u043d\u044f\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438. \u0426\u0435\u043b\u044c \u0442\u0435\u0441\u0442\u0430 \u2014 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0411\u0414.<\/p>\n<p>\u041f\u0440\u043e\u0432\u043e\u0434\u0438\u043c 2 \u0442\u0435\u0441\u0442\u0430:<\/p>\n<p>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 6.1 Hazelcast \u0441 master-master \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u043d\u0430 1 \u0443\u0437\u0435\u043b<\/p>\n<p>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 6.2 Tarantool \u0441 master-slave \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u043d\u0430 1 \u0443\u0437\u0435\u043b<\/p>\n<p><a class=\"anchor\" name=\"6h\" id=\"6h\"><\/a><\/p>\n<h4>? \u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 6.1 Hazelcast master-master<\/h4>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.78ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">643.85\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.91ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">74.92ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.81ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">9.33ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.62ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">247.85\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">67.59ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.01ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.74ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.6ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">236.8\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.98ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">115.51ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.92ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.63ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26322<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">37863<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">38155<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"6t\" id=\"6t\"><\/a><\/p>\n<h4>? \u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 6.2 Tnt-master-slave<\/h4>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">4.35ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">129.16\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.32ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">72.58ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.83ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.61ms\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.27ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">84.55\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.66ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">41ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.95ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.15ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.45ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">99.55\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.78ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">89.36ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.21ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.53ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">22883<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">30452<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">28830<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"6sr\" id=\"6sr\"><\/a><\/p>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f\u00a0 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td rowspan=\"2\">\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0420\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0430 1 \u0443\u0437\u0435\u043b (master-master)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u0420\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0430 1 \u0443\u0437\u0435\u043b (master-slave)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26322<\/p>\n<\/td>\n<td>\n<p align=\"left\">22883<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">37863<\/p>\n<\/td>\n<td>\n<p align=\"left\">30452<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">38155<\/p>\n<\/td>\n<td>\n<p align=\"left\">28830<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0435 \u0438 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044f\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td rowspan=\"3\">\n<p align=\"left\">\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\">\n<p align=\"left\"><strong>\u0420\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0430 1 \u0443\u0437\u0435\u043b (master-master)<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>\u0420\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0430 1 \u0443\u0437\u0435\u043b (master-slave)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.91ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.81ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">9.33ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.32ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.83ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.61ms\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.01ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.74ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.2ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.67ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.46ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">1.98ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.92ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.63ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.21ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.53ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.21ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"6v\" id=\"6v\"><\/a><\/p>\n<h4>\u0412\u044b\u0432\u043e\u0434<\/h4>\n<p>Hazelcast \u043f\u0440\u0438 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 master-master \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c Tarantool \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 master-slave.<\/p>\n<p><a class=\"anchor\" name=\"com\" id=\"com\"><\/a><\/p>\n<hr\/>\n<h3>\u041e\u0431\u0449\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u044b<\/h3>\n<h4>Hazelcast<\/h4>\n<p>Hazelcast \u2014 \u044d\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Java \u0431\u0435\u0437 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u041e\u043d \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0442\u0435 \u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0438 API, \u0447\u0442\u043e \u0438 \u0445\u043e\u0440\u043e\u0448\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 java.util. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 Hazelcast \u0438\u0437 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Tarantool, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u043e\u0442\u043e\u043a\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0449\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435\u0441\u0451\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0440\u0438\u0441\u043a\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c.<\/p>\n<h4>Tarantool<\/h4>\n<p><strong>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f<\/strong>\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Hazelcast, \u0433\u0434\u0435 \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0443 Tarantool \u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0434\u043b\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0423 \u043e\u0431\u043e\u0438\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0435\u0441\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430.<\/p>\n<p><strong>SQL<\/strong>\u041e\u0431\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 SQL, \u043d\u043e Tarantool \u0431\u043b\u0438\u0436\u0435 \u043a \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c.<\/p>\n<p>\u041f\u043e\u044f\u0441\u043d\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0435 \u0432\u044b\u0448\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438.\u00a0<\/p>\n<p><strong>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 4 \u2014 \u0440\u0435\u0436\u0438\u043c \u043f\u0435\u0440\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438<\/strong><br \/>\u041f\u0435\u0440\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u042d\u0442\u043e in-memory \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u0438 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e\u043c \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0435\u0439. \u0412 Tarantool \u0438 Hazelcast \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u0435\u0436\u0438\u043c\u044b \u043f\u0435\u0440\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438. \u041f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0442\u0435\u0441\u0442\u0430 Tarantool \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043f\u043e\u043b\u043d\u043e\u0439 \u043f\u0435\u0440\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438, \u0447\u0435\u043c Hazelcast \u0432\u043e\u043e\u0431\u0449\u0435 \u0431\u0435\u0437 \u043f\u0435\u0440\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438.\u00a0<\/p>\n<p><strong>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 5 \u2014 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b<\/strong>Tatantool \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 key-value \u0438 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0445 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432.<br \/>\u0412\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043a\u043b\u044e\u0447\u0430\u043c, \u043d\u043e \u0438 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c.\u00a0<\/p>\n<p><em>\u041f\u0440\u0438\u043c\u0435\u0440:\u00a0<\/em>\u0443 \u043d\u0430\u0441 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0438\u0434\u0430 \u00ab\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u2014 \u0424\u0418\u041e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u00bb, \u0433\u0434\u0435 \u0442\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u043e\u043c.\u00a0<\/p>\n<ul>\n<li>\n<p>\u0412 Tarantool \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u0442\u0430\u0431\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u043d\u043e\u043c\u0435\u0440\u0443, \u043d\u043e \u0438 \u043f\u043e \u0424\u0418\u041e, \u0447\u0442\u043e \u0434\u0430\u0451\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u0437\u043d\u0430\u0442\u044c \u0442\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>\u0412 Hazelcast \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c, \u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0443\u043f\u0430\u0435\u0442 Tarantool<\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"com1\" id=\"com1\"><\/a><\/p>\n<p><strong>\u0418\u0442\u043e\u0433\u0438.\u00a0<\/strong>Tarantool \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0435\u0435 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u0438 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0432 \u043f\u0435\u0440\u0432\u044b\u0445 5 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445. \u0415\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043d\u0438\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0411\u0414, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u043f\u0440\u0438\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c\u0441\u044f \u043a Tarantool. \u041e\u043d \u0431\u043b\u0438\u0436\u0435 \u043a \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 SQL.<\/p>\n<h4>\u0421\u043e\u0432\u0441\u0435\u043c \u043a\u0440\u0430\u0442\u043a\u043e:<\/h4>\n<p>\u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u043f\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u044b\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 Tarantool.<\/p>\n<p>\u0412 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0441 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0435\u0439 Hazelcast \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u043d\u043e \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043f\u0440\u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043b\u044e\u0441\u0430\u0445 Tarantool. \u0422\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445, \u0430 Tarantool \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445, \u0433\u0434\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0441 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u0432\u044b\u0448\u0435.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/762008\/\"> https:\/\/habr.com\/ru\/articles\/762008\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><\/figure>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u0435\u043d\u0438\u0441 \u041c\u0430\u043a\u0430\u0440\u043e\u0432, \u044f \u0431\u044d\u043a\u0435\u043d\u0434-\u0442\u0438\u043c\u043b\u0438\u0434 \u0432\u00a0<a href=\"https:\/\/kts.studio\/\"><u>KTS<\/u><\/a>.<\/p>\n<p>\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437 \u043c\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u043b\u0438\u00a0<a href=\"https:\/\/habr.com\/ru\/companies\/kts\/articles\/730518\/\">Tarantool \u0441 Redis<\/a>, \u0430 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0442\u0435\u0441\u0442\u044b \u0441 Hazelcast. \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u043e\u0439, \u043d\u0430\u0448\u0438\u043c \u0431\u044d\u043a\u0435\u043d\u0434-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u0438 \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u0431\u043b\u043e\u0433\u0430\u00a0<a href=\"https:\/\/habr.com\/ru\/users\/linatimelord\/\"><u>\u041b\u0438\u043d\u043e\u0439 \u041a\u043e\u0441\u0442\u044f\u043d<\/u><\/a>.<\/p>\n<div class=\"persona\" persona=\"true\">\n<h5 class=\"persona__heading\" persona=\"true\">\u0414\u0435\u043d\u0438\u0441 \u041c\u0430\u043a\u0430\u0440\u043e\u0432<\/h5>\n<p>\u0411\u044d\u043a\u0435\u043d\u0434-\u0442\u0438\u043c\u043b\u0438\u0434<\/p>\n<\/div>\n<div class=\"persona\" persona=\"true\">\n<h5 class=\"persona__heading\" persona=\"true\">\u041b\u0438\u043d\u0430 \u041a\u043e\u0441\u0442\u044f\u043d<\/h5>\n<p>\u0411\u044d\u043a\u0435\u043d\u0434-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a<\/p>\n<\/div>\n<p>\u0422\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442 Tarantool \u043a\u0430\u043a \u0437\u0430\u043c\u0435\u043d\u044b: \u0431\u0435\u0440\u0451\u043c \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0435 \u043a\u0435\u0439\u0441\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Hazelcast \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438 \u043d\u0430 Tarantool.<\/p>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u00a0<a href=\"#com1\">\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438.<\/a><\/p>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f\u00a0Redis,\u00a0Tarantool\u00a0\u0438\u00a0Hazelcast \u0434\u043b\u044f\u00a0K6 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435:\u00a0<a href=\"https:\/\/github.com\/ktsstudio\/tarantool-k6-load-test-scenarios\">https:\/\/github.com\/ktsstudio\/tarantool-k6-load-test-scenarios<\/a><\/p>\n<p>\u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u00a0<a href=\"https:\/\/k6.io\/\"><u>Grafana K6<\/u><\/a>\u00a0\u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043d\u0430 JavaScript \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041e\u043d \u0438\u043c\u0435\u0435\u0442 \u0448\u0438\u0440\u043e\u043a\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0438 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c\u0438, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a HTTP, WebSocket, gRPC \u0438 \u0442.\u0434.\u00a0<\/p>\n<p>Grafana K6 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u0442\u0430\u043a \u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 Grafana. \u0423\u0434\u043e\u0431\u043d\u043e\u0439 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e K6 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u041a6. \u0422\u0430\u043a, \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u041a6 \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 Tarantool, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u00a0<a href=\"https:\/\/github.com\/tarantool\/xk6-tarantool\">\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 xk6-tarantool<\/a>.\u00a0<\/p>\n<p>\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Hazelcast \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u043b\u0430\u0433\u0438\u043d\u00a0<a href=\"https:\/\/github.com\/LinaProg\/xk6-hazelcast\">xk6-hazelcast<\/a>.<strong>\u00a0<\/strong>\u0414\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u041a6 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0443\u0436\u043d\u044b\u0445 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439.<\/p>\n<blockquote>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/strong>\u00a0\u0432\u0441\u0435 \u0442\u0435\u0441\u0442\u044b \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0430\u0445, \u0438 \u044d\u0442\u043e \u043c\u043e\u0433\u043b\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439<\/p>\n<\/blockquote>\n<p>\u0417\u0430 \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 6 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432:<\/p>\n<ul>\n<li>\n<p><a href=\"#1\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 1: key-value c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438 set\/get\/delete<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#1h\">Hazelcast<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#1t\">Tarantool<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#1sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#1v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#2\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 2: \u0441\u0447\u0451\u0442\u0447\u0438\u043a c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438 incr\/decr<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#2h\">Hazelcast<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#2t\">Tarantool<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#2sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#2v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#3\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 3: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430\u043c\u0438<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#3h\">Hazelcast<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#3t\">Tarantool<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#3sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#3v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#4\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 4: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0438\u0441\u043a\u043e\u043c<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#4h\">Hazelcast<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#4t\">Tarantool\u00a0<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#4sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#4v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#5\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 5: \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#5h\">Hazelcast<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#5t\">Tarantool<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#5sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#5v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#6\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 6: \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"#6h\">Hazelcast master-slave<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#6t\">Tnt master-slave<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#6sr\">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#6v\">\u0412\u044b\u0432\u043e\u0434<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"#com\">\u041e\u0431\u0449\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u044b \u0438\u0437 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#com1\">\u0421\u043e\u0432\u0441\u0435\u043c \u043a\u0440\u0430\u0442\u043a\u043e<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 1-5 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0438\u0441\u044c \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u043c\u0438: Ubuntu, 4CPU, 16GB RAM, 30GB SSD.<\/p>\n<p>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 6 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0441\u044f \u043d\u0430 \u0434\u0432\u0443\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445 Ubuntu, 4CPU 16GB RAM, 30GB SSD.<\/p>\n<p>\u0412\u0441\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0438\u0441\u044c \u0441 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 100 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e 120 \u0441\u0435\u043a\u0443\u043d\u0434.<\/p>\n<p><a class=\"anchor\" name=\"1\" id=\"1\"><\/a><\/p>\n<h3>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 1: key-value c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438 set\/get\/delete<\/h3>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c SET\/GET\/DEL \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 Hazelcast \u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438 \u0432 Tarantool.<\/p>\n<p><strong>Hazelcast:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/p>\n<p><strong>Tarantool:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<br \/>\u0421\u043f\u0435\u0439\u0441 \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 (key string, value string)<\/p>\n<h4>? Hazelcast<\/h4>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 k6<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">import hazelcast from \"k6\/x\/hazelcast\"; import exec from \"k6\/execution\";  export const options = {     discardResponseBodies: true,     scenarios: {         test: {             executor: \"constant-vus\",             exec: \"set_keys\",             vus: 100,             duration: \"120s\",         },         test: {             executor: \"constant-vus\",             exec: \"get_keys\",             vus: 100,             duration: \"120s\",         },         test: {             executor: \"constant-vus\",             exec: \" del_keys\",             vus: 100,             duration: \"120s\",         },     }, };   const client = hazelcast.connect([\u201chost:port\u201d]);  const map = hazelcast.getMap(client, \"test\");  export function set_keys() {     hazelcast.set(map, exec.vu.iterationInInstance + exec.vu.idInInstance * 100, exec.vu         .iterationInInstance + exec.vu.idInInstance * 1000); } export function get_keys() {     hazelcast.get(map, exec.vu.iterationInInstance + exec.vu.idInInstance * 100); }  export function del_keys() {     hazelcast.del(map, exec.vu.iterationInInstance + exec.vu.idInInstance * 100); }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p><em>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 set_keys, get_keys, del_keys \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438\u0441\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e.\u00a0<\/em><\/p>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">5.1ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">105.61\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.55ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">85.24ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.59ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.86ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">81.02\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.75ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">206.83ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.63ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.79ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">80.64\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.72ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">74.16ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.43ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.87ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">19509<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">25736<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26170<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"1t\" id=\"1t\"><\/a><\/p>\n<h4>? Tarantool<\/h4>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043f\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">import tarantool from \"k6\/x\/tarantool\"; import exec from 'k6\/execution';  const conn = tarantool.connect(\u201chost:port\u201d); export const options = {     discardResponseBodies: true,     scenarios: {         set: {             executor: 'constant-vus',             exec: 'set',             vus: 100,             duration: '120s',         },         get: {             executor: 'constant-vus',             exec: 'get',             vus: 100,             duration: '120s',         },         del: {             executor: 'constant-vus',             exec: 'del',             vus: 100,             duration: '120s',         },     }, };  export function set() {     tarantool.replace(conn, \"test\", [exec.vu.iterationInInstance + exec.vu.idInInstance * 100, (exec.vu.iterationInInstance + exec.vu.idInInstance * 100).toString()]) }; export function get() {     tarantool.call(conn, \"box.space.test:select\", [exec.vu.iterationInInstance + exec.vu.idInInstance * 100]) }; export function del() {     tarantool.call(conn, \"box.space.test:delete\", [exec.vu.iterationInInstance + exec.vu.idInInstance * 100])  };<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p><em>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 set_keys, get_keys, del_keys \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438\u0441\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e.\u00a0<\/em><\/p>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">4.14ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">122.3\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.21ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">60.34ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.31ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.85ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.17ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">89.51\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.58ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">71.09ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.69ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.85ms<\/p>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.46ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">114.76\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.74ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">61.46ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.38ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.84ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26813<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">33250<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">30873<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"1sr\" id=\"1sr\"><\/a><\/p>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f\u00a0 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">19509<\/p>\n<\/td>\n<td>\n<p align=\"left\">26813<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">25736<\/p>\n<\/td>\n<td>\n<p align=\"left\">33250<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">26170<\/p>\n<\/td>\n<td>\n<p align=\"left\">30873<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0435 \u0438 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044f\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td rowspan=\"2\">\n<p align=\"left\">\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Set_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.55ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.59ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.21ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.31ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.85ms<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Get_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.75ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.63ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.15ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.58ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.69ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.85ms<\/p>\n<p align=\"left\">\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>Del_keys<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">2.72ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.43ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.87ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.74ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.38ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.84ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"1v\" id=\"1v\"><\/a><\/p>\n<h4>\u0412\u044b\u0432\u043e\u0434<\/h4>\n<p>Tarantool \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0435\u0435 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u044b\u0441\u044f\u0447 rps \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 \u0437\u0430\u043f\u0438\u0441\u0438, \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p><a class=\"anchor\" name=\"2\" id=\"2\"><\/a><\/p>\n<hr\/>\n<h3>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 2. \u0421\u0447\u0451\u0442\u0447\u0438\u043a<\/h3>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c Increment \u0438 Decrement \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0435 \u0432 Hazelcast \u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 update \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 Tarantool.<\/p>\n<p>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 incr \u0438 decr \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e.\u00a0<\/p>\n<p><strong>Hazelcast:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/p>\n<p><strong>Tarantool:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<br \/>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u043f\u0435\u0439\u0441 \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 (key string, value integer)<\/p>\n<p><a class=\"anchor\" name=\"2h\" id=\"2h\"><\/a><\/p>\n<h4>? Hazelcast<\/h4>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 k6<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">import hazelcast from \"k6\/x\/hazelcast\"; import exec from \"k6\/execution\";  export const options = {     discardResponseBodies: true,     scenarios: {         test_incr: {             executor: 'constant-vus',             exec: 'incr',             vus: 100,             duration: '120s',         },         test_decr: {             executor: 'constant-vus',             exec: 'decr',             vus: 100,             duration: '120s',         },     }, };  const client = hazelcast.connect([\u201chost:port\u201d]);  export function incr() {     hazelcast.incr(client,'test'+exec.vu.idInInstance); } export function decr() {     hazelcast.decr(client,'test'+exec.vu.idInInstance); }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">6.98ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">69.04\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.26ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">131.56ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">15.36ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">18.94ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">28533<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"2t\" id=\"2t\"><\/a><\/p>\n<h4>? Tarantool<\/h4>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043f\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Tarantool<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"lua\">box.cfg{listen=\"127.0.0.1:3301\"} box.schema.space.create(\"test\") box.space.test2:format({{name=\"name\", type=\"string\"}, {name=\"value\", type=\"integer\"}}) box.space.test2:create_index(\"primary\", {parts={\"name\"}})<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u0438\u043f\u0442 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 k6<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">import tarantool from \"k6\/x\/tarantool\"; import exec from 'k6\/execution';   const conn = tarantool.connect(\"host:port\"); export const options = {    discardResponseBodies: true,    scenarios: {        incr: {            executor: 'constant-vus',            exec: 'decr',            vus: 100,            duration: '120s',        },        decr: {            executor: 'constant-vus',            exec: 'decr',            vus: 100,            duration: '120s',        },    }, }; export function setup() {    for (let i = 1; i &lt; 101; i++) {        tarantool.replace(conn, \"test\", [i.toString(), 0]);      }     }; export function incr() {    tarantool.call(conn, \"box.space.test:update\", [exec.vu.idInInstance.toString(), [[\"+\", 2, 1]]]) } export function decr() {    tarantool.call(conn, \"box.space.test:update\", [exec.vu.idInInstance.toString(), [[\"-\", 2, 1]]])    }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h4>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/h4>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>avg<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">3.06ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">100.01\u00b5s<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.51ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">72.29ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.26ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.05ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><a class=\"anchor\" name=\"2sr\" id=\"2sr\"><\/a><\/p>\n<h4>\u0421\u0440\u0435\u0434\u043d\u0435\u0435 RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">32552<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f\u00a0 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e RPS<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\n<\/td>\n<td>\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">28533<\/p>\n<\/td>\n<td>\n<p align=\"left\">32552<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u0435 \u0438 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044f\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<p><a class=\"anchor\" name=\"2v\" id=\"2v\"><\/a><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td rowspan=\"2\">\n<p align=\"left\">\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Hazelcast<\/strong><\/p>\n<\/td>\n<td colspan=\"3\">\n<p align=\"left\"><strong>Tarantool<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>med<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(90)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>p(95)<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>INCR\/DECR<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">5.26ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">15.36ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">18.94ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.51ms<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.26ms\u00a0<\/p>\n<\/td>\n<td>\n<p align=\"left\">7.05ms<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0412\u044b\u0432\u043e\u0434<\/h4>\n<p>Tarantool \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0435\u0435 \u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 incr\/decr.<\/p>\n<p><a class=\"anchor\" name=\"3\" id=\"3\"><\/a><\/p>\n<hr\/>\n<h3>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 3. \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430\u043c\u0438<\/h3>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c set \u0438 get \u0434\u043b\u044f multimap&#8230; \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432 Tarantool.<\/p>\n<p><strong>Hazelcast:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/p>\n<p><strong>Tarantool:<\/strong>\u0414\u0435\u0444\u043e\u043b\u0442\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<br \/>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u043f\u0435\u0439\u0441 kv \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 (key string, element string)<\/p>\n<p><a class=\"anchor\" name=\"3h\" id=\"3h\"><\/a><\/p>\n<h4>? Hazelcast<\/h4>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 k6<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"javascript\">import hazelcast from \"k6\/x\/hazelcast\"; import exec from \"k6\/execution\";  export const options = {     discardResponseBodies: true,     scenarios: {         test: {             executor: \"constant-vus\",             exec: \"set_keys\",             vus: 100,             duration: \"120s\",         },     }, };   const client = hazelcast.connect([\u201chost:port\u201d]);  const map = hazelcast.getMultimap(client, \"multi_test\");  export function set_keys() {     hazelcast.multimapSet(map, 'test'+exec.vu.idInInstance*1000, exec.vu.iterationInInstance + exec.vu.idInInstance * 100, exec.vu         .iterationInInstance + exec.vu.idInInstance * 1000); } export function get_keys() {     hazelcast.multimapMembers(map, exec.vu.iterationInInstance + exec.vu.idInInstance * 100); }<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h4>\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-355281","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/355281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=355281"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/355281\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=355281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=355281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=355281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}