<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Тестирование производительности on PIG.CENTER</title><link>https://pig.center/ru/docs/etcd/benchmarks/</link><description>Recent content in Тестирование производительности on PIG.CENTER</description><generator>Hugo</generator><language>ru-RU</language><lastBuildDate>Tue, 08 Sep 2026 21:29:01 +0800</lastBuildDate><atom:link href="https://pig.center/ru/docs/etcd/benchmarks/index.xml" rel="self" type="application/rss+xml"/><item><title>Тестирование использования памяти хранилищем</title><link>https://pig.center/ru/docs/etcd/benchmarks/etcd-storage-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/etcd/benchmarks/etcd-storage-memory-benchmark/</guid><description>&lt;!---todo: link storage to storage design doc--&gt;&#10;&lt;p&gt;Физическую память потребляют два компонента хранилища etcd. Для ускорения поиска ключей процесс etcd выделяет &lt;em&gt;индекс в памяти&lt;/em&gt;. Управляемый операционной системой &lt;em&gt;страничный кеш&lt;/em&gt; процесса хранит недавно прочитанные с диска данные для быстрого повторного использования.&lt;/p&gt;&#10;&lt;p&gt;Индекс в памяти хранит все ключи в структуре данных &lt;a href="https://en.wikipedia.org/wiki/B-tree"&gt;B-tree&lt;/a&gt;&#10; вместе с указателями на данные на диске — значения. Каждый ключ в B-tree может содержать несколько указателей на разные версии значения. Поэтому теоретическое потребление памяти индексом можно приблизительно оценить формулой:&lt;/p&gt;</description></item><item><title>Тестирование использования памяти наблюдателями</title><link>https://pig.center/ru/docs/etcd/benchmarks/etcd-3-watch-memory-benchmark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/etcd/benchmarks/etcd-3-watch-memory-benchmark/</guid><description>&lt;div class="td-callout td-callout--note" role="note"&gt;&#10; &lt;div class="td-callout__title"&gt;&lt;i class="td-callout__icon fa-solid fa-circle-info" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="td-callout__label"&gt;Примечание&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="td-callout__body"&gt;&#10;&lt;p&gt;Возможности наблюдения активно развиваются, поэтому потребление памяти может меняться. Мы не ожидаем, что оно значительно превысит приведённые ниже значения.&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;Одна из основных целей etcd — поддерживать очень большое число наблюдателей, выполняющих огромное количество наблюдений. etcd стремится поддерживать O(10k) клиентов, O(100K) потоков наблюдения (O(10) потоков на клиента) и O(10M) наблюдений в сумме (O(100) наблюдений на поток). На каждое отдельное наблюдение приходится наибольшая часть общего потребления памяти etcd, поэтому именно оно находится в центре текущей и будущей оптимизации.&lt;/p&gt;</description></item><item><title>Тестирование производительности etcd v3</title><link>https://pig.center/ru/docs/etcd/benchmarks/etcd-3-demo-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/etcd/benchmarks/etcd-3-demo-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Физические машины&#10;&lt;/h2&gt;&#10;&lt;p&gt;GCE тип машинного оборудования n1-highcpu-2&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;1x выделенный локальный диск SSD, подключённый под /var/lib/etcd&lt;/li&gt;&#10;&lt;li&gt;1x выделенный медленный диск для ОС&lt;/li&gt;&#10;&lt;li&gt;1.8 GB памяти&lt;/li&gt;&#10;&lt;li&gt;2x процессора&lt;/li&gt;&#10;&lt;li&gt;версия etcd 2.2.0&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="etcd-cluster"&gt;etcd Кластер&#10;&lt;/h2&gt;&#10;&lt;p&gt;1 участник etcd, работающий в режиме демонстрации v3&lt;/p&gt;&#10;&lt;h2 id="testing"&gt;Тестирование&#10;&lt;/h2&gt;&#10;&lt;p&gt;Используйте &lt;a href="https://github.com/etcd-io/etcd/tree/main/tools/benchmark"&gt;инструмент тестирования производительности etcd v3&lt;/a&gt;&#10;.&lt;/p&gt;&#10;&lt;h2 id="performance"&gt;Производительность&#10;&lt;/h2&gt;&#10;&lt;h3 id="reading-one-single-key"&gt;чтение одного ключа&#10;&lt;/h3&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;размер ключа в байтах&lt;/th&gt;&#10; &lt;th scope="col"&gt;количество клиентов&lt;/th&gt;&#10; &lt;th scope="col"&gt;чтение QPS&lt;/th&gt;&#10; &lt;th scope="col"&gt;90-й процентиль задержки (мс)&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;256&lt;/td&gt;&#10; &lt;td&gt;1&lt;/td&gt;&#10; &lt;td&gt;2716&lt;/td&gt;&#10; &lt;td&gt;0.4&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;256&lt;/td&gt;&#10; &lt;td&gt;64&lt;/td&gt;&#10; &lt;td&gt;16623&lt;/td&gt;&#10; &lt;td&gt;6.1&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;256&lt;/td&gt;&#10; &lt;td&gt;256&lt;/td&gt;&#10; &lt;td&gt;16622&lt;/td&gt;&#10; &lt;td&gt;21.7&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;Производительность почти такая же, как и у сервера с пустым обработчиком.&lt;/p&gt;</description></item><item><title>Тестирование памяти etcd v2.2.0-rc</title><link>https://pig.center/ru/docs/etcd/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/etcd/benchmarks/etcd-2-2-0-rc-memory-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Физическая машина&#10;&lt;/h2&gt;&#10;&lt;p&gt;Тип машины GCE n1-standard-2&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;1x выделенный локальный SSD, подключённый в /var/lib/etcd&lt;/li&gt;&#10;&lt;li&gt;1x выделенный медленный диск для ОС&lt;/li&gt;&#10;&lt;li&gt;7.5 GB памяти&lt;/li&gt;&#10;&lt;li&gt;2x CPU&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="etcd"&gt;etcd&#10;&lt;/h2&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-1fb21f6d-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="" data-td-line-count="4"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-1fb21f6d-fence-0-viewport" data-td-code-viewport&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;etcd Version: 2.2.0-rc.0+git&#10;Git SHA: 103cb5c&#10;Go Version: go1.5&#10;Go OS/Arch: linux/amd64&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="testing"&gt;Тестирование&#10;&lt;/h2&gt;&#10;&lt;p&gt;Запускается кластер etcd из 3 участников, каждый из которых использует 2 ядра.&lt;/p&gt;</description></item><item><title>Тестирование производительности etcd v2.2.0-rc</title><link>https://pig.center/ru/docs/etcd/benchmarks/etcd-2-2-0-rc-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/etcd/benchmarks/etcd-2-2-0-rc-benchmarks/</guid><description>&lt;h2 id="physical-machine"&gt;Физическая машина&#10;&lt;/h2&gt;&#10;&lt;p&gt;Тип машины GCE n1-highcpu-2&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;1x выделенный локальный SSD, подключённый в /var/lib/etcd&lt;/li&gt;&#10;&lt;li&gt;1x выделенный медленный диск для ОС&lt;/li&gt;&#10;&lt;li&gt;1.8 GB памяти&lt;/li&gt;&#10;&lt;li&gt;2x CPU&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="etcd-cluster"&gt;Кластер etcd&#10;&lt;/h2&gt;&#10;&lt;p&gt;3 участника etcd 2.2.0-rc, каждый работает на отдельной машине.&lt;/p&gt;&#10;&lt;p&gt;Точные версии:&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-259af033-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="" data-td-line-count="4"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-259af033-fence-0-viewport" data-td-code-viewport&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;etcd Version: 2.2.0-alpha.1+git&#10;Git SHA: 59a5a7e&#10;Go Version: go1.4.2&#10;Go OS/Arch: linux/amd64&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Кроме того, базовая производительность измеряется на кластере из 3 участников etcd 2.1.0 стадии alpha. Текущий коммит etcd — &lt;a href="https://github.com/etcd-io/etcd/commits/c7146bd5f2c73716091262edc638401bb8229144"&gt;c7146bd5&lt;/a&gt;&#10;, тот же, что использован в &lt;a href="https://pig.center/ru/docs/etcd/benchmarks/etcd-2-1-0-alpha-benchmarks/"&gt;тестировании etcd 2.1&lt;/a&gt;&#10;.&lt;/p&gt;</description></item><item><title>Тестирование производительности etcd v2.2.0</title><link>https://pig.center/ru/docs/etcd/benchmarks/etcd-2-2-0-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/etcd/benchmarks/etcd-2-2-0-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Физические машины&#10;&lt;/h2&gt;&#10;&lt;p&gt;Тип машины GCE n1-highcpu-2&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;1x выделенный локальный SSD, используемый как каталог данных etcd&lt;/li&gt;&#10;&lt;li&gt;1x выделенный медленный диск для ОС&lt;/li&gt;&#10;&lt;li&gt;1.8 GB памяти&lt;/li&gt;&#10;&lt;li&gt;2x CPU&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="etcd-cluster"&gt;Кластер etcd&#10;&lt;/h2&gt;&#10;&lt;p&gt;3 участника etcd 2.2.0, каждый работает на отдельной машине.&lt;/p&gt;&#10;&lt;p&gt;Точные версии:&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-3f6da3a0-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="" data-td-line-count="4"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-3f6da3a0-fence-0-viewport" data-td-code-viewport&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;etcd Version: 2.2.0&#10;Git SHA: e4561dd&#10;Go Version: go1.5&#10;Go OS/Arch: linux/amd64&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="testing"&gt;Тестирование&#10;&lt;/h2&gt;&#10;&lt;p&gt;Запустите ещё одну машину вне кластера etcd и примените &lt;a href="https://github.com/rakyll/hey"&gt;инструмент HTTP-тестирования &lt;code&gt;hey&lt;/code&gt;&lt;/a&gt;&#10; с патчем повторного использования соединений для отправки запросов каждому участнику кластера etcd. Патч и шаги для воспроизведения процедуры приведены в &lt;a href="https://github.com/etcd-io/etcd/tree/v2.3.8/hack/benchmark"&gt;инструкции по тестированию&lt;/a&gt;&#10;.&lt;/p&gt;</description></item><item><title>Тестирование производительности etcd v2.1.0</title><link>https://pig.center/ru/docs/etcd/benchmarks/etcd-2-1-0-alpha-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/ru/docs/etcd/benchmarks/etcd-2-1-0-alpha-benchmarks/</guid><description>&lt;h2 id="physical-machines"&gt;Физические машины&#10;&lt;/h2&gt;&#10;&lt;p&gt;Тип машины GCE n1-highcpu-2&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;1x выделенный локальный SSD, подключённый в /var/lib/etcd&lt;/li&gt;&#10;&lt;li&gt;1x выделенный медленный диск для ОС&lt;/li&gt;&#10;&lt;li&gt;1.8 GB памяти&lt;/li&gt;&#10;&lt;li&gt;2x CPU&lt;/li&gt;&#10;&lt;li&gt;etcd версии 2.1.0 alpha&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="etcd-cluster"&gt;Кластер etcd&#10;&lt;/h2&gt;&#10;&lt;p&gt;3 участника etcd, каждый работает на отдельной машине&lt;/p&gt;&#10;&lt;h2 id="testing"&gt;Тестирование&#10;&lt;/h2&gt;&#10;&lt;p&gt;Запустите ещё одну машину и с помощью &lt;a href="https://github.com/rakyll/hey"&gt;инструмента HTTP-тестирования hey&lt;/a&gt;&#10; отправляйте запросы каждому участнику etcd. Подробные инструкции приведены в &lt;a href="https://github.com/etcd-io/etcd/tree/main/hack/benchmark"&gt;руководстве по разработке тестов производительности&lt;/a&gt;&#10;.&lt;/p&gt;</description></item></channel></rss>