TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 9.01K subscribers
Post #4989 2.57K
​​Сегодня в обсуждении возник вопрос о влиянии виртуализации на производительность. Поэтому решили провести небольшой экспресс-тест.

Для начала хост, компьютер не очень мощный, даже наоборот, но в данном случае это не имеет никакого значения.

Processor: Intel(R) Celeron(R) CPU J3355 @ 2.00GHz
CPU cores: 2
Frequency: 2428.759 MHz
RAM: 15Gi
Swap: 8.0Gi
Kernel: Linux 5.15.108-1-pve x86_64

Disks:
sda 223.6G SSD

CPU: SHA256-hashing 500 MB
5.458 seconds
CPU: bzip2-compressing 500 MB
10.662 seconds
CPU: AES-encrypting 500 MB
2.635 seconds

ioping: seek rate
min/avg/max/mdev = 103.4 us / 146.3 us / 6.43 ms / 67.6 us
ioping: sequential read speed
generated 8.81 k requests in 5.00 s, 2.15 GiB, 1.76 k iops, 440.4 MiB/s

Теперь LXC контейнер:

Processor: Intel(R) Celeron(R) CPU J3355 @ 2.00GHz
CPU cores: 2
Frequency: 2500.000 MHz
RAM: 2,0Gi
Swap: 512Mi
Kernel: Linux 5.15.108-1-pve x86_64

Disks:
sda 223,6G SSD

CPU: SHA256-hashing 500 MB
5,858 seconds
CPU: bzip2-compressing 500 MB
11,333 seconds
CPU: AES-encrypting 500 MB
2,666 seconds

ioping: seek rate
min/avg/max/mdev = 110.8 us / 163.9 us / 4.42 ms / 62.5 us
ioping: sequential read speed
generated 8.16 k requests in 5.00 s, 1.99 GiB, 1.63 k iops, 408.1 MiB/s

Как видим - разница на уровне погрешности измерений. Поэтому можно смело говорить, что производительность контейнеров примерно равна производительности хоста.

Теперь KVM виртуальная машина, значения по умолчанию.

Processor: Common KVM processor
CPU cores: 2
Frequency: 1996.800 MHz
RAM: 3,9Gi
Swap: 974Mi
Kernel: Linux 4.19.0-20-amd64 x86_64

Disks:
sda 8G HDD

CPU: SHA256-hashing 500 MB
8,569 seconds
CPU: bzip2-compressing 500 MB
15,707 seconds
CPU: AES-encrypting 500 MB
15,507 seconds

ioping: seek rate
min/avg/max/mdev = 257.1 us / 698.5 us / 29.7 ms / 742.4 us
ioping: sequential read speed
generated 2.75 k requests in 5.00 s, 686.5 MiB, 549 iops, 137.3 MiB/s

В отличии от контейнера виртуалка добавляет отдельный слой виртуального железа и это вносит свои издержки.

Так как у нас эмулируется Common KVM processor, то сразу видим провал по частоте до номинальной и первые два процессорных теста примерно соответствуют разнице в частоте.

А вот третий полностью зависит от поддержки аппаратных инструкций процессора и здесь разница довольно серьезная. Но зато Common KVM processor является универсальным и переносимым.

Дисковая система по умолчанию без кеширования и результат тоже хуже, чем на хосте.

Но и виртуальные машины применяются там. где нужна более серьезная изоляция на уровне железа, либо его специальная эмуляция, так как не все сценарии поддерживаются в контейнерах.

Если же нужна производительность, то смело берем LXC.
  • 👍 24
  • ❤ 9
  • 😁 4
  • 💯 1
More from @interface31
  1. Oct 8, 2026Караван-сарай или величественный собор? Наткнулся я тут случайно на такой проект, как CBSD…
  2. Oct 8, 2026Post #6854
  3. Oct 8, 2026Леса, домены и их хозяева В обсуждении отдельные участники стали высказывать мнение, что у…
  4. Oct 8, 2026Переход с VMware: как не начать с нуля и получить больше возможностей Смена платформы вирт…
  5. Oct 7, 2026Установка и настройка Hyper-V в Server Core 2025 с управлением через Windows Admin Center…
  6. Oct 7, 2026Post #6849
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →