เจเจน เจฒเฉเจ เจเจฐเจเจพ เจเจฐเฉเจเจพ เจเจฟ เจเจน เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ
เจกเฉเจเจฐ เจจเจพเจฒ เจเจฎ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจ
เจคเฉ เจเจนเจจเจพเจ เจฆเฉ เจนเฉฑเจฒ เจฌเจพเจฐเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉ
เจเจฐเฉเจฐเฉ เจเฉเจเจพ
- เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจเฉเจฐ เจฆเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจเจพ, เจเจธ เจคเจฐเฉเจนเจพเจ เจจเฉเจเจตเจฐเจ, เจฎเฉเจฎเฉเจฐเฉ เจ เจคเฉ I / O เจเจเจธเฉเจฒเฉเจธเจผเจจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉ เจนเฉเจ, เจตเจฐเจเฉเจ เจฒเจพเจเจเฉเจธเจผเจจ เจเจเจธเจเฉเจเจธเจผเจจเจพเจ เจฆเฉ เจ เจงเจพเจฐ เจคเฉ เจนเจพเจฐเจกเจตเฉเจ เจฐ เจเจเจธเฉเจฒเฉเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจจเฉเฉฐ เจฎเจเจฌเฉเจฐ เจเจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ
- OCI (เจเฉฐเจเฉเจจเจฐ เจซเจพเจฐเจฎเฉเจ), Kubernetes CRI เจธเจฎเฉเจค เจเจฆเจฏเฉเจ เจฆเฉ เจฎเจฟเจเจฐเจพเจ เจฒเจ เจธเจฎเจฐเจฅเจจ
- เจจเจฟเจฏเจฎเจค เจฒเฉเจจเจเจธ เจเฉฐเจเฉเจจเจฐเจพเจ เจฆเฉ เจจเจฟเจฐเฉฐเจคเจฐ เจเจพเจฐเจเฉเจเจผเจพเจฐเฉ, เจจเจฟเจฏเจฎเจค VMs เจฆเฉ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจเจตเจฐเจนเฉเฉฑเจก เจคเฉเจ เจฌเจฟเจจเจพเจ เจตเจงเฉ เจนเฉเจ เจเจเจธเฉเจฒเฉเจธเจผเจจ
- เจชเฉเจฐเฉ เจตเจฐเจเฉเจ เจฒ เจฎเจธเจผเฉเจจเจพเจ เจฆเฉ เจ เฉฐเจฆเจฐ เจเฉฐเจเฉเจจเจฐเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจจเฉเฉฐ เจเจคเจฎ เจเจฐเฉ, เจเจฎ เจเฉฐเจเจฐเจซเฉเจธ เจเจเฉเจเจฐเจฃ เจ เจคเฉ เจฒเจพเจเจ เจจเฉเฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจเจเจฆเฉ เจนเจจ
เจธเฉเจเจฟเฉฐเจ
เจนเจจ
เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจฃ: เจเจพเจเจพ เจเฉฐเจเฉเจจเจฐ เจฆเจพ เจเฉฐเจฎ เจธเจฟเจฐเจซเจผ เจนเจพเจฐเจกเจตเฉเจ
เจฐ 'เจคเฉ เจธเจฎเจฐเจฅเจฟเจค เจนเฉ, เจตเจฐเจเฉเจ
เจฒเจพเจเจเฉเจธเจผเจจ เจซเจพเจฐเจตเจฐเจกเจฟเฉฐเจ เจนเจฎเฉเจธเจผเจพ เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐเจฆเฉ, เจตเฉ sse4.1 เจธเจนเจฟเจฏเฉเจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจชเฉเจฐเฉเจธเฉเจธเจฐ เจคเฉเจ.
เจเจพเจเจพ เจเฉฐเจเฉเจจเจฐเจพเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจเจพ เจฌเจนเฉเจค เจธเฉเจเจพ เจนเฉ:
เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจเจชเจฏเฉเจเจคเจพเจตเจพเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเฉ:
# yum -y install yum-utils
เจธเฉเจฒเจฟเจจเจเจธ เจจเฉเฉฐ เจ เจฏเฉเจ เจเจฐเฉ (เจเจน เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจเจพ เจตเจงเฉเจฐเฉ เจธเจนเฉ เจนเฉ, เจชเจฐ เจธเจฐเจฒเจคเจพ เจฒเจ เจฎเฉเจ เจเจธเจจเฉเฉฐ เจ เจธเจฎเจฐเฉฑเจฅ เจเจฐเจฆเจพ เจนเจพเจ):
# setenforce 0
# sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
เจ เจธเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจเฉเฉเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจเจฐเจฆเฉ เจนเจพเจ
# source /etc/os-release
# ARCH=$(arch)
# BRANCH="${BRANCH:-stable-1.10}"
# yum-config-manager --add-repo "http://download.opensuse.org/repositories/home:/katacontainers:/releases:/${ARCH}:/${BRANCH}/CentOS_${VERSION_ID}/home:katacontainers:releases:${ARCH}:${BRANCH}.repo"
# yum -y install kata-runtime kata-proxy kata-shim
เจตเจฟเจตเจธเจฅเจพ
เจฎเฉเจ เจกเฉเจเจฐ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจธเจฅเจพเจชเจค เจเจฐเจพเจเจเจพ, เจเจธเจฆเฉ เจธเจฅเจพเจชเจจเจพ เจเจฎ เจนเฉ, เจฎเฉเจ เจเจธเจฆเจพ เจตเจงเฉเจฐเฉ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจ เจตเจฐเจฃเจจ เจจเจนเฉเจ เจเจฐเจพเจเจเจพ:
# rpm -qa | grep docker
docker-ce-cli-19.03.6-3.el7.x86_64
docker-ce-19.03.6-3.el7.x86_64
# docker -v
Docker version 19.03.6, build 369ce74a3c
เจ เจธเฉเจ daemon.json เจตเจฟเฉฑเจ เจฌเจฆเจฒเจพเจ เจเจฐเจฆเฉ เจนเจพเจ:
# cat <<EOF > /etc/docker/daemon.json
{
"default-runtime": "kata-runtime",
"runtimes": {
"kata-runtime": {
"path": "/usr/bin/kata-runtime"
}
}
}
EOF
เจกเฉเจเจฐ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเฉ:
# service docker restart
เจธเจฟเจนเจค เจเจพเจเจ
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจกเฉเจเจฐ เจจเฉเฉฐ เจฐเฉเจธเจเจพเจฐเจ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเฉฐเจเฉเจจเจฐ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ เจเจฟ uname เจฎเฉเฉฑเจ เจธเจฟเจธเจเจฎ เจคเฉ เจเฉฑเจฒ เจฐเจนเฉ เจเจฐเจจเจฒ เจฆเจพ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉเจตเฉเจเจพ:
# docker run busybox uname -a
Linux 19efd7188d06 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 GNU/Linux
เจฎเฉเฉ-เจเจพเจฒเฉ เจนเฉเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจเจฐเจจเจฒ เจธเฉฐเจธเจเจฐเจฃ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ:
# docker run busybox uname -a
Linux 9dd1f30fe9d4 4.19.86-5.container #1 SMP Sat Feb 22 01:53:14 UTC 2020 x86_64 GNU/Linux
เจนเฉเจฐ เจเฉเจฎเจพเจ!
# time docker run busybox mount
kataShared on / type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev type tmpfs (rw,nosuid,size=65536k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666)
sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,relatime,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (ro,nosuid,nodev,noexec,relatime,xattr,name=systemd)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (ro,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (ro,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (ro,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (ro,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (ro,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (ro,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/freezer type cgroup (ro,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/pids type cgroup (ro,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/cpuset type cgroup (ro,nosuid,nodev,noexec,relatime,cpuset)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k)
kataShared on /etc/resolv.conf type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
kataShared on /etc/hostname type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
kataShared on /etc/hosts type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
proc on /proc/bus type proc (ro,relatime)
proc on /proc/fs type proc (ro,relatime)
proc on /proc/irq type proc (ro,relatime)
proc on /proc/sys type proc (ro,relatime)
tmpfs on /proc/acpi type tmpfs (ro,relatime)
tmpfs on /proc/timer_list type tmpfs (rw,nosuid,size=65536k,mode=755)
tmpfs on /sys/firmware type tmpfs (ro,relatime)
real 0m2.381s
user 0m0.066s
sys 0m0.039s
# time docker run busybox free -m
total used free shared buff/cache available
Mem: 1993 30 1962 0 1 1946
Swap: 0 0 0
real 0m3.297s
user 0m0.086s
sys 0m0.050s
เจคเฉเจเจผ เจฒเฉเจก เจเฉเจธเจเจฟเฉฐเจ
เจตเจฐเจเฉเจ
เจฒเจพเจเจเฉเจธเจผเจจ เจคเฉเจ เจนเฉเจฃ เจตเจพเจฒเฉ เจจเฉเจเจธเจพเจจเจพเจ เจฆเจพ เจฎเฉเจฒเจพเจเจเจฃ เจเจฐเจจ เจฒเจ - เจฎเฉเจ sysbench เจเจฒเจพเจเจเจฆเจพ เจนเจพเจ, เจฎเฉเฉฑเจ เจเจฆเจพเจนเจฐเจฃเจพเจ เจตเจเฉเจ
เจกเฉเจเจฐ + เจเฉฐเจเฉเจจเจฐเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจฟเจธเจฌเฉเจเจ เจเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉ
เจชเฉเจฐเฉเจธเฉเจธเจฐ เจเฉเจธเจ
sysbench 1.0: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
General statistics:
total time: 36.7335s
total number of events: 10000
total time taken by event execution: 36.7173s
response time:
min: 3.43ms
avg: 3.67ms
max: 8.34ms
approx. 95 percentile: 3.79ms
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 36.7173/0.00
เจฐเฉเจฎ เจเฉเจธเจ
sysbench 1.0: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Initializing worker threads...
Threads started!
Operations performed: 104857600 (2172673.64 ops/sec)
102400.00 MiB transferred (2121.75 MiB/sec)
General statistics:
total time: 48.2620s
total number of events: 104857600
total time taken by event execution: 17.4161s
response time:
min: 0.00ms
avg: 0.00ms
max: 0.17ms
approx. 95 percentile: 0.00ms
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 17.4161/0.00
เจกเฉเจเจฐ + เจเจพเจเจพ เจเฉฐเจเฉเจจเจฐเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจฟเจธเจฌเฉเจเจ เจเจฒเจพ เจฐเจฟเจนเจพ เจนเฉ
เจชเฉเจฐเฉเจธเฉเจธเจฐ เจเฉเจธเจ
sysbench 1.0: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
General statistics:
total time: 36.5747s
total number of events: 10000
total time taken by event execution: 36.5594s
response time:
min: 3.43ms
avg: 3.66ms
max: 4.93ms
approx. 95 percentile: 3.77ms
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 36.5594/0.00
เจฐเฉเจฎ เจเฉเจธเจ
sysbench 1.0: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Initializing worker threads...
Threads started!
Operations performed: 104857600 (2450366.94 ops/sec)
102400.00 MiB transferred (2392.94 MiB/sec)
General statistics:
total time: 42.7926s
total number of events: 104857600
total time taken by event execution: 16.1512s
response time:
min: 0.00ms
avg: 0.00ms
max: 0.43ms
approx. 95 percentile: 0.00ms
Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 16.1512/0.00
เจธเจฟเจงเจพเจเจคเจ เจคเฉเจฐ 'เจคเฉ, เจธเจฅเจฟเจคเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจธเจชเฉฑเจธเจผเจ เจนเฉ, เจชเจฐ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจเจ เจตเจพเจฐ เจเจฒเจพเจเจฃเจพ, เจเจเจเจฒเฉเจ เจฐเจพเจ เจจเฉเฉฐ เจนเจเจพเจเจฃเจพ เจ เจคเฉ เจจเจคเฉเจเจฟเจเจ เจฆเจพ เจเจธเจค เจฌเจฃเจพเจเจฃเจพ เจตเจงเฉเจฐเฉ เจ เจจเฉเจเฉเจฒ เจนเฉ, เจเจธ เจฒเจ เจฎเฉเจ เจ เจเฉ เจนเฉเจฐ เจเฉเจธเจ เจจเจนเฉเจ เจเจฐเจฆเจพ เจนเจพเจ.
เจธเจฟเฉฑเจเจพ
เจเจธ เจคเฉฑเจฅ เจฆเฉ เจฌเจพเจตเจเฉเจฆ เจเจฟ เจ เจเจฟเจนเฉ เจเฉฐเจเฉเจจเจฐเจพเจ เจจเฉเฉฐ เจธเจผเฉเจฐเฉ เจนเฉเจฃ เจตเจฟเฉฑเจ เจฒเจเจญเจ เจชเฉฐเจ เจคเฉเจ เจฆเจธ เจเฉเจฃเจพ เจเจผเจฟเจเจฆเจพ เจธเจฎเจพเจ เจฒเฉฑเจเจฆเจพ เจนเฉ (เจเฉฐเจเฉเจจเจฐเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจตเฉเจฒเฉ เจธเจฎเจพเจจ เจเจฎเจพเจเจกเจพเจ เจฒเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉฑเจฒเจฃ เจฆเจพ เจธเจฎเจพเจ เจเฉฑเจ เจธเจเจฟเฉฐเจ เจฆเฉ เจเฉฑเจ เจคเจฟเจนเจพเจ เจคเฉเจ เจเฉฑเจ เจนเฉเฉฐเจฆเจพ เจนเฉ), เจเจน เจ เจเฉ เจตเฉ เจฌเจนเฉเจค เจคเฉเจเจผเฉ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเจจ เจเฉเจเจฐ เจ เจธเฉเจ เจชเฉเจฐเจพ เจธเจผเฉเจฐเฉเจเจคเฉ เจธเจฎเจพเจ เจฒเฉเจเจฆเฉ เจนเจพเจ (เจเฉฑเจฅเฉ เจเจชเจฐเฉเจเจค เจเจฆเจพเจนเจฐเจจเจพเจ เจนเจจ, เจเจธเจคเจจ เจคเจฟเฉฐเจจ เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจเฉเจคเฉเจเจ เจเจฎเจพเจเจกเจพเจ)เฅค เจเฉเจฐ, CPU เจ เจคเฉ RAM เจฆเฉ เจเฉฑเจ เจคเฉเจเจผ เจเฉเจธเจ เจฆเฉ เจจเจคเฉเจเฉ เจฒเจเจญเจ เจเจนเฉ เจจเจคเฉเจเฉ เจฆเจฟเจเจพเจเจเจฆเฉ เจนเจจ, เจเฉ เจเจฟ เจเฉเจธเจผ เจจเจนเฉเจ เจนเฉ เจธเจเจฆเฉ, เจเจพเจธ เจคเฉเจฐ 'เจคเฉ เจเจธ เจคเฉฑเจฅ เจฆเฉ เจฐเฉเจธเจผเจจเฉ เจตเจฟเฉฑเจ เจเจฟ เจเจเจธเฉเจฒเฉเจธเจผเจจ kvm เจตเจฐเจเฉ เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจเฉฑเจฒ เจฐเจนเฉ เจตเจฟเจงเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค
เจเฉเจธเจผเจฃเจพ
เจฒเฉเจ เจเฉฑเจ เจธเจฎเฉเจเจฟเจ เจนเฉ, เจชเจฐ เจเจน เจคเฉเจนเจพเจจเฉเฉฐ เจตเจฟเจเจฒเจชเจ เจฐเจจเจเจพเจเจฎ เจจเฉเฉฐ เจฎเจนเจฟเจธเฉเจธ เจเจฐเจจ เจฆเจพ เจฎเฉเจเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจเฉเจคเจฐเจพเจ เจจเฉเฉฐ เจเจตเจฐ เจจเจนเฉเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจธเจพเจเจ เจเจพเจเจพ เจเฉฐเจเฉเจจเจฐเจพเจ เจฆเฉ เจธเจฟเจเจฐ 'เจคเฉ เจเฉเจฌเจฐเจจเฉเจเจธ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฆเฉ เจฏเฉเจเจคเจพ เจฆเจพ เจตเจฐเจฃเจจ เจเจฐเจฆเฉ เจนเฉเฅค เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจคเฉเจธเฉเจ เจธเฉเจฐเฉฑเจเจฟเจ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจจเฉเฉฐ เจฒเฉฑเจญเจฃ, เจชเจพเจฌเฉฐเจฆเฉเจเจ เจธเจฅเจพเจชเจค เจเจฐเจจ เจ เจคเฉ เจนเฉเจฐ เจฆเจฟเจฒเจเจธเจช เจเฉเจเจผเจพเจ 'เจคเฉ เจเฉเจเจฆเฉเจฐเจฟเจค เจเฉเจธเจเจพเจ เจฆเฉ เจเฉฑเจ เจฒเฉเฉ เจตเฉ เจเจฒเจพ เจธเจเจฆเฉ เจนเฉเฅค
เจฎเฉเจ เจเจนเจจเจพเจ เจธเจพเจฐเฉ เจฒเฉเจเจพเจ เจจเฉเฉฐ เจชเฉเฉฑเจเจฆเจพ เจนเจพเจ เจเจฟเจจเฉเจนเจพเจ เจจเฉ เจเฉฑเจฅเฉ เจชเฉเฉเจนเจฟเจ เจนเฉ เจ เจคเฉ เจฆเฉเจฌเจพเจฐเจพ เจชเฉเฉเจนเจฟเจ เจนเฉ, เจธเจฐเจตเฉเจเจฃ เจตเจฟเฉฑเจ เจนเจฟเฉฑเจธเจพ เจฒเฉเจฃ เจฒเจ, เจเจฟเจธ 'เจคเฉ เจเจธ เจตเจฟเจธเจผเฉ 'เจคเฉ เจญเจตเจฟเฉฑเจ เจฆเฉ เจชเฉเจฐเจเจพเจธเจผเจจ เจจเจฟเจฐเจญเจฐ เจเจฐเจจเจเฉเฅค
เจธเจฟเจฐเจซเจผ เจฐเจเจฟเจธเจเจฐเจก เจเจชเจญเฉเจเจคเจพ เจนเฉ เจธเจฐเจตเฉเจเจฃ เจตเจฟเฉฑเจ เจนเจฟเฉฑเจธเจพ เจฒเฉ เจธเจเจฆเฉ เจนเจจเฅค
เจเฉ เจฎเฉเจจเฉเฉฐ เจเจพเจเจพ เจเฉฐเจเฉเจจเจฐเจพเจ เจฌเจพเจฐเฉ เจฒเฉเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจเจพ เจเจพเจฐเฉ เจฐเฉฑเจเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ?
-
80,0%เจนเจพเจ, เจนเฉเจฐ เจฒเจฟเจเฉ!28
-
20,0%เจจเจนเฉเจ, เจจเจพ เจเจฐเฉ...7
35 เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉ เจตเฉเจ เจเฉเจคเจพเฅค 7 เจเจชเจญเฉเจเจคเจพ เจฌเจเฉ เจนเฉเจ เจนเจจเฅค
เจธเจฐเฉเจค: www.habr.com