aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbazeltsev <bazeltsev@ydb.tech>2022-12-30 11:02:35 +0300
committerbazeltsev <bazeltsev@ydb.tech>2022-12-30 11:02:35 +0300
commit1a5a2b27e7c76da1d9e921121f480fad8989a961 (patch)
treeb324e3cdcfe4155cdaba4514e581544b3ccf87fd
parentbbb9ce84f6295f0ecdb2f124e861ab18a71aff16 (diff)
downloadydb-1a5a2b27e7c76da1d9e921121f480fad8989a961.tar.gz
Improved clarity load actors
updated
-rw-r--r--ydb/docs/ru/core/_assets/load-actors.drawio1
-rw-r--r--ydb/docs/ru/core/_assets/load-actors.svg4
-rw-r--r--ydb/docs/ru/core/development/load-actors-key-value.md12
-rw-r--r--ydb/docs/ru/core/development/load-actors-kqp.md82
-rw-r--r--ydb/docs/ru/core/development/load-actors-load-stop.md45
-rw-r--r--ydb/docs/ru/core/development/load-actors-memory.md36
-rw-r--r--ydb/docs/ru/core/development/load-actors-overview.md70
-rw-r--r--ydb/docs/ru/core/development/load-actors-pdisk-log.md12
-rw-r--r--ydb/docs/ru/core/development/load-actors-pdisk-read.md12
-rw-r--r--ydb/docs/ru/core/development/load-actors-pdisk-write.md (renamed from ydb/docs/ru/core/development/load-actors-pdisk.md)14
-rw-r--r--ydb/docs/ru/core/development/load-actors-stop.md49
-rw-r--r--ydb/docs/ru/core/development/load-actors-storage.md (renamed from ydb/docs/ru/core/development/load-actors-load-start.md)109
-rw-r--r--ydb/docs/ru/core/development/load-actors-vdisk.md16
-rw-r--r--ydb/docs/ru/core/toc_i.yaml26
14 files changed, 273 insertions, 215 deletions
diff --git a/ydb/docs/ru/core/_assets/load-actors.drawio b/ydb/docs/ru/core/_assets/load-actors.drawio
new file mode 100644
index 0000000000..d99fd66831
--- /dev/null
+++ b/ydb/docs/ru/core/_assets/load-actors.drawio
@@ -0,0 +1 @@
+<mxfile host="Electron" modified="2022-12-29T12:00:29.606Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.7.4 Chrome/106.0.5249.199 Electron/21.3.3 Safari/537.36" etag="v5-aiSTWogSnbusoIV6B" version="20.7.4" type="device"><diagram id="ubN0F7Ct8m74YTRy8KRH" name="Page-1">5Vtde6I4FP41XnYf+ay9bLWd3R3nWbvd7dSrfSKkyhYJE+Io8+s3kQQliYUqIM7e+CQHOAlv3pycD+xZw+XmEwbx4gvyYdgz+/6mZ416pnnj2PSXCdJM4F5zwRwHfiYydoKn4Afkwj6XrgIfJoUbCUIhCeKi0ENRBD1SkAGM0bp42ysKi6PGYA4VwZMHQlX6NfDJIpMOnP5O/isM5gsxstHnV5ZA3MwFyQL4aL0nsu571hAjRLLWcjOEIcNO4JI993Dgaj4xDCNS5YFkfPcwXKcvj5Pp/T9mOnp4TV6uTCdT8x2EK/7GfLYkFRBgtIp8yLT0e9bdehEQ+BQDj11d0zWnsgVZhrRn0OYrighfRcNm/SAMhyhEmAoiFFH5XUIweoOSkE8DYgI3B1/QyGGjdINoCQlO6S3iAYH0erdQtstli71Fcm0uBJwc81zXDj/a4BB+BM6PoGlUQFNFrwagLAFUKvX3gMtpuw/coAbcXsHfky8/pm/j32e/PbqbB2uEn68MBbfJKEjeTgPvACwa8A4jZReRsm0VqYEGqDoIpgXKUoB67iRQlnNmoFS7NoLfAwqAjBQ1yzFremkYUMiwVY7XLAN3PMsFwHubbyH/Y0WoGsjlCTeETk0gO0WQHc2+1dm7xrbtTbm5g5F/y45hhnAIkiTwilgWiQo3AXlhB80vDu9N966MNvwM2nZS0fHpgc0HRJgs0BxFILzfSe8o4jjdU8u6U/E06+wUb3tC88ElS9AKe7B8m7KpFV0XgOeQlBlClQB7C+xoFljIMAwBCb4Xx9StOh9hggL6Zjm/XEPaxDcScbL35k/tuxqSIuvG0ZtNoSjDQVG0JWH+2iccJ+p5cg5iHkm7bW8CcUBhgLgyy49na1VyOlpWn4utdl8imXUkWxVFTstsHVRga+nyF/m6u2eMUMyF/0JCUu6cgxVBRcIfQ/ETOGdVtYh2RdZVptNpnqrqgX2G6VXWNd2QMHcA09actf4CsxCS83tnksNvuKrjcNOmdybmc27Kt+4YCDbv0/69SLIrrLeV9aJhB8HBbEXoApj9J4Iwy6SY/QlGm7RzjDc1gZs2xG2M8kYVZ7l5yp9AXedCLbYmFAQEMNIuAPY7a7Rtp2NG27i+dAa7VRlc1dNticGuAvzjCm4nQK2tB5ME4bPT1bou0nWgstVoyuBqT9AGU2UnZV/tM6bKtEBVKAFcfhZHScWUGJD3KFXqvLl6ArQTF8tZQrt/bFwsJ7+bi4sPo9hMUaDWDdxmUUALVJVz+YI3sDYfVuOu1ngF+pDsvNt6ILHu2ORsnicTVQSj3W0thqsQS36itIwVLtOdS4rs1VaUNbVTEAbziG0ByhHGpDtmBwIPhLf8wjLw/S1XdVakWAevwZBYTjHxqKvDGjpKyZnO2iyJJnH++Vs8RsA/zeo2U8fOI6KuuJyGqcIH02fWuxQMdVFmyyCqjju3CJeCoS7Z1DKGar5uG/xcCoK6mKhlBNWoaOt9fsUUngzGIYu/mexPCHxJNEbzS8E69wfKsHYbw7obiSXh9Yr2tOABl9V4Cx7tzsFtPigVZ3Z5VuuA/3pyHVY6QY6vw0qKrlt2TLtVh/0IDeukk9kIS/JUtVhcOeqo/G2JXMuUv25qmiXdqONcqrH6WNm/dhpaso0xj6WhXJ2RFTVMw65U0M9srBpiiVHTkaZ8FtvykWaq8fz/kSVOMyyRTyI5GDmWJbbsaTfNEjVtobJkl0DmoYgPkkVOioOp5KrLeLa0qnQguMdWS2RFzX3yql9DNWuSf9kgPmwQAvYfncLqut9WSFy4yj5av6U3GHa8yR7j14WiLLTtA48gnAitdNqZ4uJgVLw3AYlVP00q17iWUrnVvtVoLJFrqgmg5ugwHbEmWDJko1kSF1e/nBSZLIlBdNI0lBf00DKmbIlI8t64VJYN/bNz1HJLOZo7Ou2QVK3wduJPOqdVh9v7kw7t7v4+mh0ku//gWvf/AQ==</diagram></mxfile> \ No newline at end of file
diff --git a/ydb/docs/ru/core/_assets/load-actors.svg b/ydb/docs/ru/core/_assets/load-actors.svg
new file mode 100644
index 0000000000..94ca021c11
--- /dev/null
+++ b/ydb/docs/ru/core/_assets/load-actors.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Do not edit this file with editors other than diagrams.net -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="461px" height="641px" viewBox="-0.5 -0.5 461 641" content="&lt;mxfile host=&quot;Electron&quot; modified=&quot;2022-12-29T11:51:36.536Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.7.4 Chrome/106.0.5249.199 Electron/21.3.3 Safari/537.36&quot; etag=&quot;fmLuNjrHHU_9gJvZfuO-&quot; version=&quot;20.7.4&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;ubN0F7Ct8m74YTRy8KRH&quot; name=&quot;Page-1&quot;&gt;5Vtde6I4FP41XnYf+ay9bLWd3R3nWbvd7dSrfSKkyhYJE+Io8+s3kQQliYUqIM7e+CQHOAlv3pycD+xZw+XmEwbx4gvyYdgz+/6mZ416pnnj2PSXCdJM4F5zwRwHfiYydoKn4Afkwj6XrgIfJoUbCUIhCeKi0ENRBD1SkAGM0bp42ysKi6PGYA4VwZMHQlX6NfDJIpMOnP5O/isM5gsxstHnV5ZA3MwFyQL4aL0nsu571hAjRLLWcjOEIcNO4JI993Dgaj4xDCNS5YFkfPcwXKcvj5Pp/T9mOnp4TV6uTCdT8x2EK/7GfLYkFRBgtIp8yLT0e9bdehEQ+BQDj11d0zWnsgVZhrRn0OYrighfRcNm/SAMhyhEmAoiFFH5XUIweoOSkE8DYgI3B1/QyGGjdINoCQlO6S3iAYH0erdQtstli71Fcm0uBJwc81zXDj/a4BB+BM6PoGlUQFNFrwagLAFUKvX3gMtpuw/coAbcXsHfky8/pm/j32e/PbqbB2uEn68MBbfJKEjeTgPvACwa8A4jZReRsm0VqYEGqDoIpgXKUoB67iRQlnNmoFS7NoLfAwqAjBQ1yzFremkYUMiwVY7XLAN3PMsFwHubbyH/Y0WoGsjlCTeETk0gO0WQHc2+1dm7xrbtTbm5g5F/y45hhnAIkiTwilgWiQo3AXlhB80vDu9N966MNvwM2nZS0fHpgc0HRJgs0BxFILzfSe8o4jjdU8u6U/E06+wUb3tC88ElS9AKe7B8m7KpFV0XgOeQlBlClQB7C+xoFljIMAwBCb4Xx9StOh9hggL6Zjm/XEPaxDcScbL35k/tuxqSIuvG0ZtNoSjDQVG0JWH+2iccJ+p5cg5iHkm7bW8CcUBhgLgyy49na1VyOlpWn4utdl8imXUkWxVFTstsHVRga+nyF/m6u2eMUMyF/0JCUu6cgxVBRcIfQ/ETOGdVtYh2RdZVptNpnqrqgX2G6VXWNd2QMHcA09actf4CsxCS83tnksNvuKrjcNOmdybmc27Kt+4YCDbv0/69SLIrrLeV9aJhB8HBbEXoApj9J4Iwy6SY/QlGm7RzjDc1gZs2xG2M8kYVZ7l5yp9AXedCLbYmFAQEMNIuAPY7a7Rtp2NG27i+dAa7VRlc1dNticGuAvzjCm4nQK2tB5ME4bPT1bou0nWgstVoyuBqT9AGU2UnZV/tM6bKtEBVKAFcfhZHScWUGJD3KFXqvLl6ArQTF8tZQrt/bFwsJ7+bi4sPo9hMUaDWDdxmUUALVJVz+YI3sDYfVuOu1ngF+pDsvNt6ILHu2ORsnicTVQSj3W0thqsQS36itIwVLtOdS4rs1VaUNbVTEAbziG0ByhHGpDtmBwIPhLf8wjLw/S1XdVakWAevwZBYTjHxqKvDGjpKyZnO2iyJJnH++Vs8RsA/zeo2U8fOI6KuuJyGqcIH02fWuxQMdVFmyyCqjju3CJeCoS7Z1DKGar5uG/xcCoK6mKhlBNWoaOt9fsUUngzGIYu/mexPCHxJNEbzS8E69wfKsHYbw7obiSXh9Yr2tOABl9V4Cx7tzsFtPigVZ3Z5VuuA/3pyHVY6QY6vw0qKrlt2TLtVh/0IDeukk9kIS/JUtVhcOeqo/G2JXMuUv25qmiXdqONcqrH6WNm/dhpaso0xj6WhXJ2RFTVMw65U0M9srBpiiVHTkaZ8FtvykWaq8fz/kSVOMyyRTyI5GDmWJbbsaTfNEjVtobJkl0DmoYgPkkVOioOp5KrLeLa0qnQguMdWS2RFzX3yql9DNWuSf9kgPmwQAvYfncLqut9WSFy4yj5av6U3GHa8yR7j14WiLLTtA48gnAitdNqZ4uJgVLw3AYlVP00q17iWUrnVvtVoLJFrqgmg5ugwHbEmWDJko1kSF1e/nBSZLIlBdNI0lBf00DKmbIlI8t64VJYN/bNz1HJLOZo7Ou2QVK3wduJPOqdVh9v7kw7t7v4+mh0ku//gWvf/AQ==&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs/><g><rect x="0" y="0" width="460" height="640" fill="none" stroke="none" pointer-events="all"/><rect x="200" y="320" width="220" height="80" rx="12" ry="12" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><rect x="220" y="440" width="80" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 460px; margin-left: 221px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PDisk</div></div></div></foreignObject><text x="260" y="464" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PDisk</text></switch></g><rect x="220" y="350" width="80" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 370px; margin-left: 221px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">VDisk</div></div></div></foreignObject><text x="260" y="374" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">VDisk</text></switch></g><path d="M 230 535 C 230 526.72 243.43 520 260 520 C 267.96 520 275.59 521.58 281.21 524.39 C 286.84 527.21 290 531.02 290 535 L 290 585 C 290 593.28 276.57 600 260 600 C 243.43 600 230 593.28 230 585 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 290 535 C 290 543.28 276.57 550 260 550 C 243.43 550 230 543.28 230 535" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 573px; margin-left: 231px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Device</div></div></div></foreignObject><text x="260" y="576" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Device</text></switch></g><path d="M 260 390 L 260 433.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 260 438.88 L 256.5 431.88 L 260 433.63 L 263.5 431.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 260 480 L 260 513.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 260 518.88 L 256.5 511.88 L 260 513.63 L 263.5 511.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 245 200 L 245 210 Q 245 220 255 220 L 300 220 Q 310 220 310 226.82 L 310 233.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 310 238.88 L 306.5 231.88 L 310 233.63 L 313.5 231.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="200" y="160" width="90" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 180px; margin-left: 201px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Key-value<br />Tablet</div></div></div></foreignObject><text x="245" y="184" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Key-value...</text></switch></g><path d="M 310 280 L 310 313.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 310 318.88 L 306.5 311.88 L 310 313.63 L 313.5 311.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="200" y="240" width="220" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 260px; margin-left: 201px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Distributed Storage Proxy</div></div></div></foreignObject><text x="310" y="264" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Distributed Storage Proxy</text></switch></g><path d="M 375 200 L 375 210 Q 375 220 365 220 L 320 220 Q 310 220 310 226.82 L 310 233.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 310 238.88 L 306.5 231.88 L 310 233.63 L 313.5 231.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="330" y="160" width="90" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 180px; margin-left: 331px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Data Shard<br />Tablet</div></div></div></foreignObject><text x="375" y="184" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Shard...</text></switch></g><path d="M 310 120 L 310 130 Q 310 140 320 140 L 365 140 Q 375 140 375 146.82 L 375 153.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 375 158.88 L 371.5 151.88 L 375 153.63 L 378.5 151.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="250" y="80" width="120" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 100px; margin-left: 251px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Query Processor</div></div></div></foreignObject><text x="310" y="104" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Query Processor</text></switch></g><rect x="320" y="350" width="80" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 370px; margin-left: 321px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">VDisk</div></div></div></foreignObject><text x="360" y="374" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">VDisk</text></switch></g><path d="M 360 390 L 360 433.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 360 438.88 L 356.5 431.88 L 360 433.63 L 363.5 431.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="320" y="440" width="80" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 460px; margin-left: 321px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PDisk</div></div></div></foreignObject><text x="360" y="464" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PDisk</text></switch></g><path d="M 360 480 L 360 513.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 360 518.88 L 356.5 511.88 L 360 513.63 L 363.5 511.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="235" y="320" width="150" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 335px; margin-left: 236px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Distributed Storage Group</div></div></div></foreignObject><text x="310" y="339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Distributed Storage Group</text></switch></g><rect x="40" y="80" width="120" height="40" rx="6" ry="6" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 100px; margin-left: 41px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">KqpLoad</div></div></div></foreignObject><text x="100" y="104" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">KqpLoad</text></switch></g><rect x="40" y="160" width="120" height="40" rx="6" ry="6" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 180px; margin-left: 41px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">KeyValueLoad</div></div></div></foreignObject><text x="100" y="184" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">KeyValueLoad</text></switch></g><rect x="40" y="240" width="120" height="40" rx="6" ry="6" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 260px; margin-left: 41px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">StorageLoad</div></div></div></foreignObject><text x="100" y="264" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">StorageLoad</text></switch></g><rect x="40" y="350" width="120" height="40" rx="6" ry="6" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 370px; margin-left: 41px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">VDiskLoad</div></div></div></foreignObject><text x="100" y="374" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">VDiskLoad</text></switch></g><rect x="40" y="430" width="120" height="60" rx="9" ry="9" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 460px; margin-left: 41px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PDiskWriteLoad, PDiskReadLoad, PDiskLogLoad</div></div></div></foreignObject><text x="100" y="464" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PDiskWriteLoad, PDis...</text></switch></g><path d="M 160 100 L 243.63 100" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 248.88 100 L 241.88 103.5 L 243.63 100 L 241.88 96.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 160 180 L 193.63 180" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 198.88 180 L 191.88 183.5 L 193.63 180 L 191.88 176.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 160 260 L 193.63 260" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 198.88 260 L 191.88 263.5 L 193.63 260 L 191.88 256.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 160 370 L 213.63 370" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 218.88 370 L 211.88 373.5 L 213.63 370 L 211.88 366.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 160 460 L 213.63 460" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 218.88 460 L 211.88 463.5 L 213.63 460 L 211.88 456.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 180 600 L 180 40" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><rect x="55" y="30" width="90" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 45px; margin-left: 56px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><b><font style="font-size: 14px;">Load actors</font></b></div></div></div></foreignObject><text x="100" y="49" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Load actors</text></switch></g><rect x="245" y="30" width="130" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 45px; margin-left: 246px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><b><font style="font-size: 14px;">YDB </font></b><span style="font-size: 14px;"><b>components</b></span></div></div></div></foreignObject><text x="310" y="49" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">YDB components</text></switch></g><path d="M 330 535 C 330 526.72 343.43 520 360 520 C 367.96 520 375.59 521.58 381.21 524.39 C 386.84 527.21 390 531.02 390 535 L 390 585 C 390 593.28 376.57 600 360 600 C 343.43 600 330 593.28 330 585 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 390 535 C 390 543.28 376.57 550 360 550 C 343.43 550 330 543.28 330 535" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 573px; margin-left: 331px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Device</div></div></div></foreignObject><text x="360" y="576" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Device</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> \ No newline at end of file
diff --git a/ydb/docs/ru/core/development/load-actors-key-value.md b/ydb/docs/ru/core/development/load-actors-key-value.md
index 94161a96f4..f5fa939cc7 100644
--- a/ydb/docs/ru/core/development/load-actors-key-value.md
+++ b/ydb/docs/ru/core/development/load-actors-key-value.md
@@ -1,9 +1,13 @@
-# Key-Value нагрузка
+# KeyValueLoad
-## Структура {#proto}
+Нагружает Key-value таблетку.
+
+{% include notitle [addition](../_includes/addition.md) %}
+
+## Спецификация актора {#proto}
```proto
-message TKeyValueLoadStart {
+message TKeyValueLoad {
message TWorkerConfig {
optional string KeyPrefix = 1;
optional uint32 MaxInFlight = 2;
@@ -17,5 +21,3 @@ message TKeyValueLoadStart {
repeated TWorkerConfig Workers = 7;
}
```
-
-{% include notitle [addition](../_includes/addition.md) %}
diff --git a/ydb/docs/ru/core/development/load-actors-kqp.md b/ydb/docs/ru/core/development/load-actors-kqp.md
index 9ab7101d66..e89db74350 100644
--- a/ydb/docs/ru/core/development/load-actors-kqp.md
+++ b/ydb/docs/ru/core/development/load-actors-kqp.md
@@ -1,9 +1,18 @@
-# KQP нагрузка
+# KqpLoad
-## Структура {#proto}
+Подает нагрузку на слой Query Processor и нагружает все компоненты кластера {{ ydb-short-name }}. Нагрузка, которую генерирует актор, аналогична нагрузке от подкоманды [workload](../reference/ydb-cli/commands/workload/index.md) {{ ydb-short-name }} CLI, но запускается изнутри кластера. Позволяет запускать два типа нагрузки:
+
+* **Stock** — симулирует работу склада интернет-магазина: создает заказы из нескольких товаров, получает список заказов по клиенту.
+* **Key-value** — использует БД как key-value хранилище.
+
+Результатом теста является количество успешных транзакций в секунду, количество повторных попыток исполнения транзакций и количество ошибок.
+
+{% include notitle [addition](../_includes/addition.md) %}
+
+## Спецификация актора {#proto}
```proto
-message TKqpLoadStart {
+message TKqpLoad {
message TStockWorkload {
optional uint64 ProductCount = 1 [default = 100];
optional uint64 Quantity = 2 [default = 1000];
@@ -24,6 +33,7 @@ message TKqpLoadStart {
optional uint32 WindowDuration = 3;
optional string WorkingDir = 4;
optional uint32 NumOfSessions = 5;
+ optional bool IncreaseSessions = 11;
optional bool DeleteTableOnFinish = 6;
optional uint32 UniformPartitionsCount = 7;
optional uint32 WorkloadType = 8;
@@ -34,35 +44,31 @@ message TKqpLoadStart {
}
```
-## Параметры {#options}
-
-### TKqpLoadStart
+## Параметры актора {#options}
Параметр | Описание
--- | ---
-`TStockWorkload[]` | [link](#stock-workload).
-`TKvWorkload[]` | [link](#kv-workload).
+`TStockWorkload[]` | [Параметры нагрузки stock](#stock-workload).
+`TKvWorkload[]` | [Параметры нагрузки key-value](#kv-workload).
`Tag` | Тег нагрузки. Если не задан, то тег будет присвоен автоматически.<br>Тип: `uint64`.<br>Необязательный.
`DurationSeconds` | Длительность теста в секундах.<br>Тип: `uint32`.<br>Обязательный.
`WindowDuration` | Размер окна для агрегации статистики.<br>Тип: `uint32`.<br>Обязательный.
`WorkingDir` | Путь директории, в которой будут созданы тестовые таблицы.<br>Тип: `string`.<br>Обязательный.
`NumOfSessions` | Количество параллельных потоков, подающих нагрузку. Каждый поток пишет в свою сессию.<br>Тип: `uint32`.<br>Обязательный.
-`DeleteTableOnFinish` | обязательный. Удалять ли таблицы после завершения работы нагрузки. Неудаление полезно в сценарии долгого предварительного создания большой таблицы и последующими (читающими) тестами.<br>Тип: `bool`.<br>Обязательный.
+`DeleteTableOnFinish` | Удалять ли таблицы после завершения работы нагрузки. Например, Оставлять таблицы может быть полезно в сценарии долгого предварительного создания большой таблицы и последующими (читающими) тестами.<br>Тип: `bool`.<br>Обязательный.
`UniformPartitionsCount` | Количество партиций, создаваемых в тестовых таблицах.<br>Тип: `uint32`.<br>Обязательный.
`WorkloadType` | Позволяет выбрать тип нагрузки.<br>Key-Value:<ul><li>`0` — UpsertRandom;</li><li>`1` — InsertRandom;</li><li>`2` — SelectRandom.</li></ul>Stok:<ul><li>`0` — InsertRandomOrder;</li><li>`1` — SubmitRandomOrder;</li><li>`2` — SubmitSameOrder;</li><li>`3` — GetRandomCustomerHistory;</li><li>`4` — GetCustomerHistory.</li></ul>Тип: `uint32`.<br>Обязательный.
-`Workload` | Одно из значений:<ul><li>`TStockWorkload Stock` — ;</li><li>`TKvWorkload Kv` — .</li></ul>
+`Workload` | Одно из значений:<ul><li>`TStockWorkload Stock` — тип нагрузки Stock;</li><li>`TKvWorkload Kv` — тип нагрузки key-value.</li></ul>
### TStockWorkload {#stock-workload}
-<!--
Параметр | Описание
--- | ---
-optional uint64 ProductCount = 1 [default = 100];
-optional uint64 Quantity = 2 [default = 1000];
-optional uint64 OrderCount = 3 [default = 100];
-optional uint64 Limit = 4 [default = 10];
-optional bool PartitionsByLoad = 5 [default = true];
- -->
+`ProductCount` | Количество видов товаров.<br>Тип: `uint64`.<br>Значение по умолчанию: `100`.<br>Необязательный.
+`Quantity` | Количество товаров каждого вида на складе.<br>Тип: `uint64`.<br>Значение по умолчанию: `1000`.<br>Необязательный.
+`OrderCount` | Первоначальное количество заказов в БД.<br>Тип: `uint64`.<br>Значение по умолчанию: `100`.<br>Необязательный.
+`Limit` | Минимальное количество шардов для таблиц.<br>Тип: `uint64`.<br>Значение по умолчанию: `10`.<br>Необязательный.
+`PartitionsByLoad` | Включение/выключение автошардирования.<br>Тип: `bool`.<br>Значение по умолчанию: `true`.<br>Необязательный.
### TKvWorkload {#kv-workload}
@@ -77,24 +83,28 @@ optional bool PartitionsByLoad = 5 [default = true];
## Примеры {#example}
-Нагрузка базы `/slice/db` типа STOCK простыми UPSERT-запросами в 64 потока длительностью 30 секунд. До начала работы создает необходимые для работы таблицы, после нагрузки удаляет их.
+Ниже приведена спецификация актора, который запускает stock-нагрузку БД `/slice/db`, выполняя простые UPSERT-запросы в 64 потока в течение 30 секунд. Перед началом работы создаются необходимые таблицы, после завершения они удаляются.
-```proto
-KqpLoadStart: {
- DurationSeconds: 30
- WindowDuration: 1
- WorkingDir: "/slice/db"
- NumOfSessions: 64
- UniformPartitionsCount: 1000
- DeleteTableOnFinish: 1
- WorkloadType: 0
- Stock: {
- ProductCount: 100
- Quantity: 1000
- OrderCount: 100
- Limit: 10
- }
-}
-```
+{% list tabs %}
-{% include notitle [addition](../_includes/addition.md) %}
+- Embedded UI
+
+ ```proto
+ KqpLoad: {
+ DurationSeconds: 30
+ WindowDuration: 1
+ WorkingDir: "/slice/db"
+ NumOfSessions: 64
+ UniformPartitionsCount: 1000
+ DeleteTableOnFinish: 1
+ WorkloadType: 0
+ Stock: {
+ ProductCount: 100
+ Quantity: 1000
+ OrderCount: 100
+ Limit: 10
+ }
+ }
+ ```
+
+{% endlist %}
diff --git a/ydb/docs/ru/core/development/load-actors-load-stop.md b/ydb/docs/ru/core/development/load-actors-load-stop.md
deleted file mode 100644
index dc6eafc430..0000000000
--- a/ydb/docs/ru/core/development/load-actors-load-stop.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# Остановка нагрузки
-
-С помощью актора LoadStop вы можете остановить нагрузку на указанной ноде.
-
-## Структура {#proto}
-
-```proto
-message TLoadStop {
- optional uint64 Tag = 1;
- optional bool RemoveAllTags = 2;
-}
-```
-
-## Параметры {#options}
-
-### TLoadStop
-
-Параметр | Описание
---- | ---
-`Tag` | Тег нагрузки, может быть задан для остановки конкретной нагрузки. Тег можно посмотреть в UI load-actor `uint64`.
-`RemoveAllTags` | Остановить все нагрузочные акторы на ноде `bool`.
-
-## Примеры {#examples}
-
-Остановить акторы с тегом `123` на ноде с идентификатором `1`:
-
-```proto
-NodeId: 1
-Event: {
- LoadStop: {
- Tag: 123
- }
-}
-```
-
-Остановить все нагрузочные акторы на ноде с идентификатором `1`:
-
-```proto
-NodeId: 1
-Event: {
- LoadStop: {
- RemoveAllTags: true
- }
-}
-```
diff --git a/ydb/docs/ru/core/development/load-actors-memory.md b/ydb/docs/ru/core/development/load-actors-memory.md
index 942cbac1f6..5fed46bfb7 100644
--- a/ydb/docs/ru/core/development/load-actors-memory.md
+++ b/ydb/docs/ru/core/development/load-actors-memory.md
@@ -1,9 +1,13 @@
-# Проверка производительности памяти
+# MemoryLoad
-## Структура {#proto}
+Тестирует производительность аллокаторов памяти. Аллоцирует блоки памяти указанного размера через заданные промежутки времени. Результатом теста
+
+{% include notitle [addition](../_includes/addition.md) %}
+
+## Спецификация актора {#proto}
```proto
-message TMemoryLoadStart {
+message TMemoryLoad {
optional uint64 Tag = 1;
optional uint32 DurationSeconds = 2;
optional uint64 BlockSize = 3;
@@ -11,9 +15,7 @@ message TMemoryLoadStart {
}
```
<!--
-## Параметры {#options}
-
-### MemoryLoadStart
+## Параметры актора {#options}
Параметр | Описание
--- | ---
@@ -25,13 +27,17 @@ message TMemoryLoadStart {
## Примеры {#examples}
-```proto
-NodeId: 1
-Event: { MemoryLoadStart: {
- DurationSeconds: 120
- BlockSize: 4096
- IntervalUs: 1000
-}}
-```
+{% list tabs %}
-{% include notitle [addition](../_includes/addition.md) %}
+- CLI
+
+ ```proto
+ NodeId: 1
+ Event: { MemoryLoad: {
+ DurationSeconds: 120
+ BlockSize: 4096
+ IntervalUs: 1000
+ }}
+ ```
+
+{% endlist %}
diff --git a/ydb/docs/ru/core/development/load-actors-overview.md b/ydb/docs/ru/core/development/load-actors-overview.md
index ef9a0ecf9d..4fe68b9964 100644
--- a/ydb/docs/ru/core/development/load-actors-overview.md
+++ b/ydb/docs/ru/core/development/load-actors-overview.md
@@ -1,24 +1,35 @@
# Обзор тестирования с помощью нагружающих акторов
-Тестирование с помощью нагружающих акторов поможет вам понять, какое влияние на производительность системы оказало ваше изменение.
+Тестирование производительности системы является важным этапом добавления изменений в ядро {{ ydb-short-name }}. С помощью [нагрузочного тестирования](https://ru.wikipedia.org/wiki/Нагрузочное_тестирование) вы можете:
-Нагружающие акторы создаются на узлах кластера {{ ydb-short-name }}. Вы можете создать любое количество акторов на любом из узлов. Комбинация акторов разных [типов](#load-actor-type) позволяет запускать множество видов нагрузки.
+* определить показатели производительности и сравнить их со значениями до изменений;
+* проверить работоспособность системы на высоких или пиковых нагрузках.
-## Типы акторов {#load-actor-type}
+Сама по себе задача нагрузить высокопроизводительную распределенную систему является нетривиальной. Часто разработчику приходится запускать несколько инстансов клиента, чтобы добиться требуемой загрузки сервера. {{ ydb-short-name }} реализует простой и удобный механизм подачи нагрузки — нагружающие акторы. Акторы создаются и запускаются в самом кластере, таким образом не нужно привлекать дополнительные ресурсы для запуска клиентов. Нагружающие акторы могут быть запущены на произвольных узлах кластера — на одном, на всех или только на выбранных. Вы можете создать любое количество акторов на любом из узлов.
+
+Нагружающие акторы позволяют тестировать как систему в целом, так отдельные ее компоненты:
+
+<center>
+
+![load-actors](../_assets/load-actors.svg)
+
+</center>
-С помощью различных типов акторов вы можете протестировать производительность как системы в целом, так и отдельных компонентов.
+Например, вы можете подать [нагрузку на Distributed Storage](load-actors-storage.md) без задействования слоев таблеток и Query Processor. Таким образом можно изолированно тестировать отдельные слои системы и эффективно находить узкие места. Комбинация акторов разных типов позволяет запускать множество видов нагрузки.
+
+## Типы акторов {#load-actor-type}
Тип | Описание
--- | ---
-[KqpLoadStart](load-actors-kqp.md) | Нагружающий актор для подачи нагрузки на KQP часть и, соответственно, на весь кластер в целом. Аналогичен подкоманде [workload {{ ydb-short-name }} CLI](../reference/ydb-cli/commands/workload/index.md), есть два подвида — stock и key-value.
-[KeyValueLoadStart](load-actors-key-value.md) | Нагружающий актор для подачи нагрузки на KvTablet.
-[LoadStart](load-actors-load-start.md) | Нагружающий актор, подающий нагрузку от лица таблетки. Имитирует таблетку, создает себе TabletId и пишет в указанные storage-группы.
-[VDiskLoadStart](load-actors-vdisk.md) | Нагружающий актор для подачи нагрузки на VDisk. Имитирует DSProxy и пишет в локальный VDisk.
-[PDiskLoadStart](load-actors-pdisk.md) | Нагружающий актор для подачи write-only нагрузки на PDisk. Имитирует VDisk.
-[PDiskReadLoadStart](load-actors-pdisk-read.md) | Нагружающий актор для подачи read-only нагрузки на PDisk. Имитирует VDisk.
-[PDiskLogLoadStart](load-actors-pdisk-log.md) | Специальный нагружающий актор, написанный для тестирования вырезания из середины лога PDisk. Имитирует VDisk. Не является нагружающим, в первую очередь направлен на тестирование корректности.
-[MemoryLoadStart](load-actors-memory.md) | Специальный нагружающий актор, проверяет производительность работы памяти. Кажется, используется в math bench - иногда запускается на кластере и рисует график времени работы.
-[LoadStop](load-actors-load-stop.md) | С помощью этого актора можно остановить нагрузку либо с конкретным тегом, либо со всеми.
+[KqpLoad](load-actors-kqp.md) | Подает нагрузку на слой Query Processor и нагружает все компоненты кластера.
+[KeyValueLoad](load-actors-key-value.md) | Нагружает Key-value таблетку.
+[StorageLoad](load-actors-storage.md) | Нагружает Distributed Storage без задействования слоев таблеток и Query Processor.
+[VDiskLoad](load-actors-vdisk.md) | Тестирует производительность записи на VDisk.
+[PDiskWriteLoad](load-actors-pdisk-write.md) | Тестирует производительность записи на PDisk.
+[PDiskReadLoad](load-actors-pdisk-read.md) | Тестирует производительность чтения с PDisk.
+[PDiskLogLoad](load-actors-pdisk-log.md) | Тестирует корректность вырезания из середины лога PDisk.
+[MemoryLoad](load-actors-memory.md) | Тестирует производительность аллокаторов памяти.
+[Stop](load-actors-stop.md) | С помощью этого актора можно остановить все акторы, либо только указанные.
## Запуск нагрузки {load-actor-start}
@@ -27,7 +38,7 @@
* Embedded UI кластера — позволяет создать по спецификации и запустить нагружающий актор либо на текущем узле, либо сразу на всех узлах тенанта.
* Утилита `ydbd` — позволяет на любой узел кластера отправить спецификацию актора с указанием, на каких узлах необходимо создать и запустить актор.
-В качестве примера рассмотрим создание и запуск актора KqpLoadStart. Актор обращается к БД `/slice/db` как к key-value хранилищу в 64 потока, длительность нагрузки — 30 секунд. Перед началом работы актор создает необходимые таблицы, после окончания удаляет их. Тег будет присвоен нагрузке автоматически.
+В качестве примера рассмотрим создание и запуск актора KqpLoad. Актор обращается к БД `/slice/db` как к key-value хранилищу в 64 потока, длительность нагрузки — 30 секунд. Перед началом работы актор создает необходимые таблицы, после окончания удаляет их. При создании актору будет присвоен автоматически сгенерированный тег. Этот же тег будет присвоен и результату теста.
{% list tabs %}
@@ -37,7 +48,7 @@
1. В поле ввода/вывода вставьте спецификацию актора:
```proto
- KqpLoadStart: {
+ KqpLoad: {
DurationSeconds: 30
WindowDuration: 1
WorkingDir: "/slice/db"
@@ -56,15 +67,18 @@
}
```
- 1. Чтобы создать и запустить актор на всех нодах кластера, выберите опцию **Run on all nodes**. Иначе актор будет запущен только на текущей ноде.
- 1. Нажмите кнопку **Start new load**. В поле ввода/вывода появится следующее сообщение:
+ 1. Чтобы создать и запустить актор, нажмите кнопку:
+ * **Start new load on current node** — нагрузка будет запущена на текущем узле.
+ * **Start new load on all tenant nodes** — нагрузка будет запущена на всех узлах тенанта.
+
+ В поле ввода/вывода появится следующее сообщение:
- ```text
- {"status":"OK","tag":1}
- ```
+ ```text
+ {"status":"OK","tag":1}
+ ```
- * `status` — статус запуска нагрузки;
- * `tag` — тег, который был присвоен нагрузке.
+ * `status` — статус запуска нагрузки;
+ * `tag` — тег, который был присвоен нагрузке.
- CLI
@@ -73,7 +87,7 @@
```proto
NodeId: 1
Event: {
- KqpLoadStart: {
+ KqpLoad: {
DurationSeconds: 30
WindowDuration: 1
WorkingDir: "/slice/db"
@@ -93,7 +107,7 @@
}
```
- * `NodeId` — идентификатор ноды, на которой нужно запустить актор. Чтобы указать несколько нод, перечислите их в отдельных строках:
+ * `NodeId` — идентификатор узла, на котором нужно запустить актор. Чтобы указать несколько узлов, перечислите их в отдельных строках:
```proto
NodeId: 1
@@ -109,14 +123,12 @@
1. Запустите актор:
```bash
- ydbd bs-load-test --server <endpoint> --protobuf "$(cat proto_file)"
+ ydbd load-test --server <endpoint> --protobuf "$(cat <proto_file>)"
```
- * `endpoint` — grpc-эндпоит ноды (наприме, `grpc://<address>:31021`, где `address` — адрес узла кластера).
+ * `endpoint` — grpc-эндпоит узла (например, `grpc://<address>:<port>`, где `address` — адрес узла, `port` — grpc-порт узла).
* `proto_file` — путь к файлу со спецификацией актора.
- Мы не узнаем тег.
-
{% endlist %}
## Просмотр результата тестирования {#view-results}
@@ -127,7 +139,7 @@
- Embedded UI
- 1. Откройте страницу управления нагружающими акторами на узле (например, `http://<address>:8765/actors/load`, где `address` — адрес узла кластера, на котором была запущена нагрузка).
+ 1. Откройте страницу управления нагружающими акторами на узле (например, `http://<address>:<port>/actors/load`, где `address` — адрес узла, `port` — http-порт мониторинга узла, на котором была запущена нагрузка).
1. Нажмите кнопку **Results**.
Будут отображены результаты завершенных тестирований. Найдите результат с соответствующим тегом.
diff --git a/ydb/docs/ru/core/development/load-actors-pdisk-log.md b/ydb/docs/ru/core/development/load-actors-pdisk-log.md
index 494a17a8ff..0fcc5c33e5 100644
--- a/ydb/docs/ru/core/development/load-actors-pdisk-log.md
+++ b/ydb/docs/ru/core/development/load-actors-pdisk-log.md
@@ -1,9 +1,13 @@
-# PDisk нагрузка, пишущая в лог
+# PDiskLogLoad
-## Структура {#proto}
+Тестирует вырезание из середины лога PDisk. Не является нагружающим, в первую очередь направлен на тестирование корректности.
+
+{% include notitle [addition](../_includes/addition.md) %}
+
+## Спецификация актора {#proto}
```proto
-message TPDiskLogLoadStart {
+message TPDiskLogLoad {
message TWorkerConfig {
optional NKikimrBlobStorage.TVDiskID VDiskId = 1;
optional uint32 MaxInFlight = 2;
@@ -28,5 +32,3 @@ message TPDiskLogLoadStart {
optional bool IsWardenlessTest = 8 [default = false];
}
```
-
-{% include notitle [addition](../_includes/addition.md) %}
diff --git a/ydb/docs/ru/core/development/load-actors-pdisk-read.md b/ydb/docs/ru/core/development/load-actors-pdisk-read.md
index 30c1a68eed..a7bfb6467a 100644
--- a/ydb/docs/ru/core/development/load-actors-pdisk-read.md
+++ b/ydb/docs/ru/core/development/load-actors-pdisk-read.md
@@ -1,9 +1,13 @@
-# PDisk нагрузка на чтение
+# PDiskReadLoad
-## Структура {#proto}
+Подает на PDisk нагрузку read-only. Имитирует VDisk. Актор создает на указанном PDisk чанки, записывает в них случайные данные и выполняет чтение из них с указанными параметрами. Результатом теста является производительность чтения в байтах в секунду.
+
+{% include notitle [addition](../_includes/addition.md) %}
+
+## Спецификация актора {#proto}
```proto
-message TPDiskReadLoadStart {
+message TPDiskReadLoad {
message TChunkInfo {
optional uint32 Slots = 1; // number of slots per chunk
optional uint32 Weight = 2; // probability weight
@@ -23,5 +27,3 @@ message TPDiskReadLoadStart {
optional bool IsWardenlessTest = 13 [default = false];
}
```
-
-{% include notitle [addition](../_includes/addition.md) %}
diff --git a/ydb/docs/ru/core/development/load-actors-pdisk.md b/ydb/docs/ru/core/development/load-actors-pdisk-write.md
index 4af6f7ff54..9a31655663 100644
--- a/ydb/docs/ru/core/development/load-actors-pdisk.md
+++ b/ydb/docs/ru/core/development/load-actors-pdisk-write.md
@@ -1,8 +1,10 @@
-# PDisk нагрузка на запись
+# PDiskWriteLoad
-Представляется VDisk и пишет на PDisk данные, и в чанки, и в лог. Самостоятельно выделяет чанки для записи и освобождает в конце работы.
+Подает на PDisk нагрузку write-only. Имитирует VDisk. Актор создает на указанном PDisk чанки и записывает в них случайные данные с указанными параметрами. Результатом теста является производительность записи в байтах в секунду.
-## Структура {#proto}
+{% include notitle [addition](../_includes/addition.md) %}
+
+## Спецификация актора {#proto}
<!--
```proto
@@ -11,7 +13,7 @@ enum ELogMode {
LOG_SEQUENTIAL = 2;
LOG_NONE = 3;
}
-message TPDiskLoadStart {
+message TPDiskWriteLoad {
message TChunkInfo {
optional uint32 Slots = 1; // number of slots per chunk
optional uint32 Weight = 2; // probability weight
@@ -40,7 +42,7 @@ enum ELogMode {
LOG_NONE = 3;
}
-message TPDiskLoadStart {
+message TPDiskWriteLoad {
message TChunkInfo {
optional uint32 Slots = 1; // количество слотов в чанке. Фактически определяет размер записей/чтений,
// которой можно расчитать, разделив размер чанка на количество слотов
@@ -68,5 +70,3 @@ message TPDiskLoadStart {
optional bool IsWardenlessTest = 13 [default = false]; // позволяет использовать в тестах, где нет NodeWarden
}
```
-
-{% include notitle [addition](../_includes/addition.md) %}
diff --git a/ydb/docs/ru/core/development/load-actors-stop.md b/ydb/docs/ru/core/development/load-actors-stop.md
new file mode 100644
index 0000000000..cf3e9db082
--- /dev/null
+++ b/ydb/docs/ru/core/development/load-actors-stop.md
@@ -0,0 +1,49 @@
+# Stop
+
+С помощью этого актора можно остановить все или только указанные акторы.
+
+## Спецификация актора {#proto}
+
+```proto
+message TStop {
+ optional uint64 Tag = 1;
+ optional bool RemoveAllTags = 2;
+}
+```
+
+## Параметры актора {#options}
+
+Параметр | Описание
+--- | ---
+`Tag` | Тег нагрузки, может быть задан для остановки конкретной нагрузки. Тег можно посмотреть в Embedded UI.<br>Тип: `uint64`.
+`RemoveAllTags` | Остановить все нагрузочные акторы на узле.<br>Тип: `bool`.
+
+## Примеры {#examples}
+
+{% list tabs %}
+
+- CLI
+
+ Спецификация актора для остановки нагрузки с тегом `123` на узле с идентификатором `1`:
+
+ ```proto
+ NodeId: 1
+ Event: {
+ Stop: {
+ Tag: 123
+ }
+ }
+ ```
+
+ Спецификация актора для остановки всей нагрузки на узле с идентификатором `1`:
+
+ ```proto
+ NodeId: 1
+ Event: {
+ Stop: {
+ RemoveAllTags: true
+ }
+ }
+ ```
+
+{% endlist %}
diff --git a/ydb/docs/ru/core/development/load-actors-load-start.md b/ydb/docs/ru/core/development/load-actors-storage.md
index 670ff9f735..7a5a91c1be 100644
--- a/ydb/docs/ru/core/development/load-actors-load-start.md
+++ b/ydb/docs/ru/core/development/load-actors-storage.md
@@ -1,16 +1,18 @@
-# DSProxy нагрузка
+# StorageLoad
-Представляется таблеткой и пишет в группу.
+Нагружает Distributed Storage без задействования слоев таблеток и Query Processor. Результатом теста является производительность записи на Distributed Storage в блобах в секунду.
-## Структура {#proto}
+{% include notitle [addition](../_includes/addition.md) %}
+
+## Спецификация актора {#proto}
```proto
-message TLoadStart {
+message TStorageLoad {
message TRequestInfo {
optional float SendTime = 1;
optional uint64 Type = 2;
optional uint32 Size = 3;
- optional EPutHandleClass PutHandleClass = 4;
+ optional NKikimrBlobStorage.EPutHandleClass PutHandleClass = 4;
}
message TTabletInfo {
optional uint64 TabletId = 1;
@@ -27,14 +29,14 @@ message TLoadStart {
optional uint32 MaxInFlightRequests = 4;
optional uint32 MaxInFlightBytes = 5;
repeated TIntervalInfo FlushIntervals = 6;
- optional EPutHandleClass PutHandleClass = 7;
+ optional NKikimrBlobStorage.EPutHandleClass PutHandleClass = 7;
optional bool Soft = 8;
optional uint32 MaxInFlightReadRequests = 9;
optional uint32 MaxInFlightReadBytes = 10;
repeated TIntervalInfo ReadIntervals = 11;
repeated TSizeInfo ReadSizes = 12;
optional uint64 MaxTotalBytesWritten = 13;
- optional EGetHandleClass GetHandleClass = 14;
+ optional NKikimrBlobStorage.EGetHandleClass GetHandleClass = 14;
};
optional uint64 Tag = 1;
optional uint32 DurationSeconds = 2;
@@ -44,7 +46,7 @@ message TLoadStart {
optional uint64 ScheduleRoundingUs = 6;
}
```
-
+<!--
## Примеры {#example}
**Читающая нагрузка**
@@ -53,49 +55,60 @@ message TLoadStart {
Вторая часть основная, читающая. Читает запросами размера `$SIZE`, запросы отправляет каждые `${INTERVAL}` микросекунд. Можно его задать в 0, тогда этот параметр не будет играть роли. Конфигурация ограничивает количество запросов в полете числом `${IN_FLIGHT}`.
-```proto
-NodeId: ${NODEID}
-Event: { LoadStart: {
- DurationSeconds: ${DURATION}
- ScheduleThresholdUs: 0
- ScheduleRoundingUs: 0
- Tablets: {
- Tablets: { TabletId: ${TABLETID} Channel: 0 GroupId: ${GROUPID} Generation: 1 }
- Sizes: { Weight: 1.0 Min: ${SIZE} Max: ${SIZE} }
- WriteIntervals: { Weight: 1.0 Uniform: { MinUs: 50000 MaxUs: 50000 } }
- MaxInFlightRequests: 1
-
- ReadSizes: { Weight: 1.0 Min: ${SIZE} Max: ${SIZE} }
- ReadIntervals: { Weight: 1.0 Uniform: { MinUs: ${INTERVAL} MaxUs: ${INTERVAL} } }
- MaxInFlightReadRequests: ${IN_FLIGHT}
- FlushIntervals: { Weight: 1.0 Uniform: { MinUs: 10000000 MaxUs: 10000000 } }
- PutHandleClass: ${PUT_HANDLE_CLASS}
- GetHandleClass: ${GET_HANDLE_CLASS}
- Soft: true
- }
-}}
-```
+{% list tabs %}
+
+- CLI
+
+ ```proto
+ NodeId: ${NODEID}
+ Event: { StorageLoad: {
+ DurationSeconds: ${DURATION}
+ ScheduleThresholdUs: 0
+ ScheduleRoundingUs: 0
+ Tablets: {
+ Tablets: { TabletId: ${TABLETID} Channel: 0 GroupId: ${GROUPID} Generation: 1 }
+ Sizes: { Weight: 1.0 Min: ${SIZE} Max: ${SIZE} }
+ WriteIntervals: { Weight: 1.0 Uniform: { MinUs: 50000 MaxUs: 50000 } }
+ MaxInFlightRequests: 1
+
+ ReadSizes: { Weight: 1.0 Min: ${SIZE} Max: ${SIZE} }
+ ReadIntervals: { Weight: 1.0 Uniform: { MinUs: ${INTERVAL} MaxUs: ${INTERVAL} } }
+ MaxInFlightReadRequests: ${IN_FLIGHT}
+ FlushIntervals: { Weight: 1.0 Uniform: { MinUs: 10000000 MaxUs: 10000000 } }
+ PutHandleClass: ${PUT_HANDLE_CLASS}
+ GetHandleClass: ${GET_HANDLE_CLASS}
+ Soft: true
+ }
+ }}
+ ```
+
+{% endlist %}
**Пишущая нагрузка**
Пишет в группу `$GROUPID` нагрузку длительностью `$DURATION` секунд. Пишет размерами `$SIZE`, ограничивая количество запросов в полете числом `$IN_FLIGHT`.
-```proto
-NodeId: ${NODEID}
-Event: { LoadStart: {
- DurationSeconds: ${DURATION}
- ScheduleThresholdUs: 0
- ScheduleRoundingUs: 0
- Tablets: {
- Tablets: { TabletId: ${TABLETID} Channel: 0 GroupId: ${GROUPID} Generation: 1 }
- Sizes: { Weight: 1.0 Min: ${SIZE} Max: ${SIZE} }
- WriteIntervals: { Weight: 1.0 Uniform: { MinUs: ${INTERVAL} MaxUs: ${INTERVAL} } }
- MaxInFlightRequests: ${IN_FLIGHT}
- FlushIntervals: { Weight: 1.0 Uniform: { MinUs: 10000000 MaxUs: 10000000 } }
- PutHandleClass: ${PUT_HANDLE_CLASS}
- Soft: true
- }
-}}
-```
+{% list tabs %}
-{% include notitle [addition](../_includes/addition.md) %}
+- CLI
+
+ ```proto
+ NodeId: ${NODEID}
+ Event: { StorageLoad: {
+ DurationSeconds: ${DURATION}
+ ScheduleThresholdUs: 0
+ ScheduleRoundingUs: 0
+ Tablets: {
+ Tablets: { TabletId: ${TABLETID} Channel: 0 GroupId: ${GROUPID} Generation: 1 }
+ Sizes: { Weight: 1.0 Min: ${SIZE} Max: ${SIZE} }
+ WriteIntervals: { Weight: 1.0 Uniform: { MinUs: ${INTERVAL} MaxUs: ${INTERVAL} } }
+ MaxInFlightRequests: ${IN_FLIGHT}
+ FlushIntervals: { Weight: 1.0 Uniform: { MinUs: 10000000 MaxUs: 10000000 } }
+ PutHandleClass: ${PUT_HANDLE_CLASS}
+ Soft: true
+ }
+ }}
+ ```
+
+{% endlist %}
+ -->
diff --git a/ydb/docs/ru/core/development/load-actors-vdisk.md b/ydb/docs/ru/core/development/load-actors-vdisk.md
index c7bfc89bee..b592230b0b 100644
--- a/ydb/docs/ru/core/development/load-actors-vdisk.md
+++ b/ydb/docs/ru/core/development/load-actors-vdisk.md
@@ -1,9 +1,13 @@
-# VDisk нагрузка
+# VDiskLoad
-## Структура {#proto}
+Подает на VDisk нагрузку write-only. Имитирует Distributed Storage Proxy. Результатом теста является производительность записи в операциях в секунду.
+
+{% include notitle [addition](../_includes/addition.md) %}
+
+## Спецификация актора {#proto}
```proto
-message TVDiskLoadStart {
+message TVDiskLoad {
optional uint64 Tag = 1;
// full VDisk identifier
@@ -11,7 +15,7 @@ message TVDiskLoadStart {
reserved 3; // obsolete field
reserved 4; // obsolete field
- optional TGroupInfo GroupInfo = 16;
+ optional NKikimrBlobStorage.TGroupInfo GroupInfo = 16;
// tablet id, channel and generation used in blob ids and barriers
optional uint64 TabletId = 5;
@@ -34,7 +38,7 @@ message TVDiskLoadStart {
optional uint64 InFlightPutBytesMax = 12;
// put handle class
- optional EPutHandleClass PutHandleClass = 13;
+ optional NKikimrBlobStorage.EPutHandleClass PutHandleClass = 13;
// a distribution of intervals between barrier advances
repeated TIntervalInfo BarrierAdvanceIntervals = 14;
@@ -43,5 +47,3 @@ message TVDiskLoadStart {
optional uint32 StepDistance = 15;
}
```
-
-{% include notitle [addition](../_includes/addition.md) %}
diff --git a/ydb/docs/ru/core/toc_i.yaml b/ydb/docs/ru/core/toc_i.yaml
index d11c8e33c2..c22620d747 100644
--- a/ydb/docs/ru/core/toc_i.yaml
+++ b/ydb/docs/ru/core/toc_i.yaml
@@ -21,7 +21,7 @@ items:
- { name: Работа с YDB CLI, include: { mode: link, path: reference/ydb-cli/toc_p.yaml } }
- { name: Работа с YDB SDK, include: { mode: link, path: reference/ydb-sdk/toc_p.yaml } }
- name: Разработка
- hidden: true
+ # hidden: true
items:
- name: Ядро
items:
@@ -29,24 +29,24 @@ items:
items:
- name: Обзор
href: development/load-actors-overview.md
- - name: KqpLoadStart
+ - name: KqpLoad
href: development/load-actors-kqp.md
- - name: KeyValueLoadStart
+ - name: KeyValueLoad
href: development/load-actors-key-value.md
- - name: LoadStart
- href: development/load-actors-load-start.md
- - name: VDiskLoadStart
+ - name: StorageLoad
+ href: development/load-actors-storage.md
+ - name: VDiskLoad
href: development/load-actors-vdisk.md
- - name: PDiskLoadStart
- href: development/load-actors-pdisk.md
- - name: PDiskReadLoadStart
+ - name: PDiskWriteLoad
+ href: development/load-actors-pdisk-write.md
+ - name: PDiskReadLoad
href: development/load-actors-pdisk-read.md
- - name: PDiskLogLoadStart
+ - name: PDiskLogLoad
href: development/load-actors-pdisk-log.md
- - name: MemoryLoadStart
+ - name: MemoryLoad
href: development/load-actors-memory.md
- - name: LoadStop
- href: development/load-actors-load-stop.md
+ - name: Stop
+ href: development/load-actors-stop.md
# Footer
- { name: Вопросы и ответы, include: { mode: link, path: faq/toc_p.yaml } }