ืงืื ืืกืืื ืืืฆืืื ืืืืจืื ื SSD ืืจืืื ื
ืืชืงื ื ืืืกืื
ืืคืจื ืงืื ืืกืืื DC500R
ืคืจืืืืงืืืืืืช
ืืืืงืืช
ืืืขืจืืช ืฉืืืฉื ืืืืืงืช SSDs ืืจืืื ืืื ืขื ืืืฉืืืื ืืืขืืื ืืืืืชื.
Lenovo ThinkSystem SR850
- 4 ืืขืืื Intel Platinum 8160 (2,1 GHz, 24 ืืืืืช)
- 16 ืืืืืื ืืืืจืื DRAM ืฉื DDR4 ECC ืขื ืชืืจ ืฉื 2666 ืืืืจืฅ ืขื ืงืืืืืช ืฉื 32 ื'ืืื -ืืืื ืื ืืื
- 2 ืืชืืื RAID 930-8i 12 Gbps
- 8 ืืื ื ื NVMe
- ืชืืื ืช VMware ESXI 6.5
Dell PowerEdge R740XD
- 2 ืืขืืื Intel Gold 6130 (2,1 GHz, 16 ืืืืืช)
- 4 ืืืืืื ืืืืจืื DRAM DRAM DDR4 ืขื ืชืืจ ืฉื 2666 ืืืืจืฅ ืขื ืงืืืืืช ืฉื 16 ื'ืืื -ืืืื ืื ืืื
- ืืชืื RAID PERC 730, 12 ื'ืืื -ืืื ืืฉื ืืื, ืืืฅ 2 ื'ืืื -ืืืื
- ืืชืื NVME ืืฉืืืฅ
- OS UBUNTU-16.04.3-DESKTOP-AMD64
ืืืืงืช ืืืืข
ืืืืข ืขื ืกืืืื ืืคืจืืืืงืื ื ืืื ืืืืงืืจืืช ืื ืฉืคืงืืื ืจืืฉ IT ืืืืกืื ืืืืื ืืืขืจืื ืืช ืืชื ืืื ืฉืืื ืืืฉืื ืืชืืฆืืืช. ืืฆืจื ื ืืฆืืื ืื ืืืง ืืื ื ืืฉืืืื ืขืืืจ ืืกืงืืจื ืื ืฉืืืืื ืื.
ื ืืชืื ืขืืืก ืขืืืื ืืืคืืืงืฆืื
ืืื ืืืขืจืื ืืจืืื ืืช ืืืฆืืขื ืืชืงื ืืืืกืื ืืืจืืื ื, ืืฉืื ืืขืฆื ืืช ืืชืฉืชืืช ืืืช ืขืืืกื ืืขืืืื ืฉื ืืืืฉืืืื ืื ืฉืืชืืืื ืืกืืืืืช ืืขืืื ืืืืืชื ืฉืื. ืืื, ืืื ืืืขืจืื ืืื ื ื SSD ืฉื Samsung 883 DCT, ืืืื ื
ืืืฆืืขื SQL Server
ืื ืืืื ื ืืืจืืืืืืช ืฉื SQL Server ืืืืืจืช ืขื ืฉื ื ืืืกืงืื ืืืจืืืืืืื: ืืืกืง ืืชืืื ืฉื 100 ื'ืืื -ืืืื ืืืืกืง ืฉื 500 ื'ืืื -ืืืื ืืืืกืื ืงืืฆื ืืกื ืื ืชืื ืื ื- LOG. ืืืืื ืช ืืฉืืื ืืืขืจืืช, ืื ืืืื ื ืืืจืืืืืืช ืืืืชื ืืฆืืืืช ื -16 ืืขืืืื ืืืจืืืืืืื, 64 ื'ืืื -ืืืื ืฉื DRAM, ืืืงืจ SCSI ืฉื SAS ื- LSI Logic. ืืืงื ื ืืขืืจ ืืช ืืืฆืืขื ืืงืื/ืคืื ืืืขืืืืช ืืืืกืื ืืืืฆืขืืช ืขืืืกื ืขืืืื ืฉื Sysbench. ืืืื ื SQL, ืืชืืจื, ืขืืืจืื ืืืขืจืื ืืช ืืืฉืืื.
ืืืืง ืืืืืืงืืช, SQL Server 2014 ื ืคืจืก ืขื ืืืฉืืื ืืืจืืืืืืื ืืืจืืื ืืืจืืฆืื ืืช Windows Server 2012 R2. ืขืืืกืื ื ืืฆืจืื ืืืืฆืขืืช ืชืืื ืช Benchmark Factory for Database ื-Quest.
ืชืฆืืจืช ืืืืงืช SQL Server (ืืื VM):
โข Windows Server 2012 R2
โข ืฉืื ืืืกืง: 600 GB ืืืงืฆื, 500 GB ืืฉืืืืฉ
โข SQL Server 2014
- ืืืื ืืกื ืื ืชืื ืื: ืงื ื ืืืื 1
- ืืกืคืจ ืืงืืืืช ืืืจืืืืืืื: 15
- ืืืืจ ืืืืจืื RAM: 48 GB
โข ืืฉื ืืืืื: 3 ืฉืขืืช
- 2,5 ืฉืขืืช - ืฉืื ืจืืฉืื ื
- 30 ืืงืืช - ืืืืงื ืืฉืืจื
ืืืชืืกืก ืขื ืืืฆืืขื ืขืืืื ืขืกืงืืืช ื-SQL Server, ื-Kingston DC500R ืืื ืจืง โโืืขื ืืืืืจื Samsung 883 DCT, ืขื ืืืฆืืขืื ืืืื ืฉื 6290,6 ืขืกืงืืืช ืืฉื ืืื (TPS).
ืืจื ืืืื ืขืื ืืืชืจ ืืืขืจืื ืืช ืืืฆืืขื SQL Server ืืืฉืจ TPS ืืื ืขื ืืื ืืขืจืืช ืจืืืช ืืฉืืื. ืืื, ืฉื ื ืืืื ื ืื - Samsung 860 DCT ืืงืื ืืกืืื DC500R - ืืจืื ืืช ืืืชื ืืืื: 26,5 ืืืคืืืช ืืฉื ืืื.
ืืืฆืืขืื ืืขืช ืฉืืืืฉ ื- sysbench
ืืืืืงื ืืืื ืืฉืชืืฉื ืืืกื ืื ืชืื ืื
ืื ืืืื ื ืืืจืืืืืืช
ืชืฆืืจืช ืืืืงืช Sysbench (ืืื VM):
โข CentOS 6.3 64 ืกืืืืืช
โข Percona XtraDB 5.5.30-rel30.1
- ืืกืคืจ ืืืืืืช ืืกื ื ืชืื ืื: 100
โ ืืืื ืืกื ืื ืชืื ืื: 10
- ืืกืคืจ ืฉืจืฉืืจื ืืกื ื ืชืื ืื: 32
- ืืืืจ ืืืืจืื RAM: 24 GB
โข ืืฉื ืืืืื: 3 ืฉืขืืช
โ ืฉืขืชืืื โ ืฉืื ืืงืืื, 2 ืืจืืื
- ืฉืขื - ืืืืงื ืืฉืืจื, 1 ืืืืื
ืืื ืืืฆืืขื ืขืืืื ืืขืกืงืืืช ืฉื Sysbench ืฉื ืืช ื-DC500R ืืืืืจื ืืืชืืจืื ืขื 1680,47 ืขืกืงืืืช ืืฉื ืืื.
ืืืืื ืช ืืืืืื ืืืืืฆืข, DC500R ืืืจื ืื ืืื ืืืจืื ืขื 76,2 ืฉื ืืืช.
ืืืกืืฃ, ืืืืจ ืืืืงืช ืืืืื ืืชืจืืืฉ ืืืจืืข ืืืืชืจ (ืืืืืืื ื-99), ื-DC500R ืฉืื ืืื ืืชืืชืืช ืืจืฉืืื ืขื ืฆืืื ืฉื 134,9ms.
VDBench ื ืืชืื ืขืืืกื ืขืืืื
ืืขืช ืืืืงืช ืืชืงื ื ืืืกืื, ืืืืงื ืืืืกืกืช ืืืฉืืืื ืืืขืืคืช ืขื ืคื ื ืืืืงืืช ืกืื ืชืืืืช. ืขื ืืืช, ืืืจืืช ืฉืืชืืฆืืืช ืฉืืื ืืื ื ืชืืืืืช ืืช ืืชื ืืื ืืขืืื ืืืืืชื, ืืืืงืืช ืกืื ืชืืืืช, ืืฉื ืืืืืช ืืืืจื ืฉื ืืฉืืืืช, ืฉืืืืฉืืืช ืืงืืืขืช ืงืืื ืืกืืก ืืืฉืืืืช ืคืชืจืื ืืช ืืชืืจืื. ืืืืงืืช ืืืื ืืฆืืขืืช ืืืืื ืจืื ืฉื ืคืจืืคืืืื - ืืืืืงืืช ืืจืืข ืคืื ืืช ืืืืืงืืช ืืขืืจืช ืืกื ื ืชืื ืื ืืืคืืกืืืช ืืขื ืืืขืงื ืืืจ ืืืืืืช ืืกืืืืืช VDI ืฉืื ืืช. ืื ืืื ืืฉืชืืฉืื ืืืืืื ืขืืืก ืขืืืื ืืืื ืฉื vdBench ืขื ืื ืืข ืกืงืจืืคืืื ืืื ืืืฆืข ืืืืืืฆืื ืืืฆืืืจ ืชืืฆืืืช ืขื ืคื ื ืืฉืืื ืืืื ืฉื ืืืืงืืช ืืืฉืื. ืื ืืืคืฉืจ ืืืฉืชืืฉ ืืืืชื ืขืืืก ืขืืืื ืขื ืคื ื ืืืืื ืจืื ืฉื ืืื ื ืื, ืืืื ืืขืจืื ืื ืืืืง ืืืื ื ืื ืืืืืื. ืืืืง ืืืืืืงื, ืืืืื ื ืืืืืืื ืืช ืืืื ื ืื ืื ืชืื ืื, ืืืืืจ ืืื ืืืืงื ื ืืืชื ืืืงืืขืื ืืขืื ืงืืืืืช ืฉื 25% ืืืืงืืจ ืืื ืืืืืช ืขืืืกื ืืืฉืืืื ืืืืขืจืื ืืช ืืชื ืืืืช ืืืื ื. ืืืฉื ืื ืฉืื ื ืืืืืงืืช ืื ืืจืืคืื ืืืืืช, ืืืฉืชืืฉืืช ืืื ืืืืกืง ืืืช ืืืช ืืขืืืกืื ืงืืืขืื. ืืกืืื ืื, ืืชืืฆืืืช ืืืืืช ืืฉืงืคืืช ืืืืจืืืืช ืืชืืื ืืฆืืืืช ืืืชืจ.
ืคืจืืคืืืื:
โข 4 KB ืงืจืืื ืืงืจืืืช: ืงืจื ืจืง, 128 ืืฉืืืืืช, 0 ืขื 120% ืืืืจืืช ืงืื/ืคืื
โข ืืชืืื ืืงืจืืืช ืฉื 4KB: ืืชืืื ืืืื, 64 ืฉืจืฉืืจืื, ืืืืจืืช ืงืื/ืคืื ืฉื 0 ืขื 120%
โข ืงืจืืื ืจืฆืืคื ืฉื 64KB: ืงืจืืื ืืืื, 128 ืฉืจืฉืืจืื, ืืืืจืืช ืงืื/ืคืื ืฉื 0 ืขื 120%
โข ืืชืืื ืจืฆืืคื ืฉื 64KB: ืืชืืื ืืืื, 64 ืฉืจืฉืืจืื, ืืืืจืืช ืงืื/ืคืื ืฉื 0 ืขื 120%
โข ืืกืื ื ืชืื ืื ืกืื ืชืืืื: SQL ื-Oracle
โข ืขืืชืง VDI (ืขืืชืงืื ืืืืื ืืขืืชืงืื ืืงืืฉืจืื)
ืืืืื ืขืืืก ืืขืืืื ืืจืืฉืื ืฉื VDBench (ืงืจืืื ืืงืจืืืช ืฉื 4KB), ื-Kingston DC500R ืกืืคืง ืชืืฆืืืช ืืจืฉืืืืช, ืขื ืืืืื ืืชืื 1 ms ืขื 80 IOPS ืืืืืจืืช ืฉืื ืฉื 000 IOPS ืืืฉืืื ืฉื 80 ms.
ืื ืืืื ื ืื ืฉื ืืืงื ืืจืื ืชืืฆืืืช ืืืขื ืืืืช ืืืืื ืืฉื ื (4 KB ืืชืืื ืืงืจืืืช): ืืืืืจืืืืช ืืขื ืืืืืืช ื- 63 IOPS ืขื ืืืืื ืฉื 000 ms.
ืืืขืืจ ืืขืืืกื ืขืืืื ืขืืงืืื, ืืกืชืืื ื ืืจืืฉืื ื ืขื ืงืจืืืืช ืฉื 64KB. ืืืงืจื ืื, ืืื ื ืงืื ืืกืืื ืฉืืจ ืขื ืืื ืืืืืจ ืฉื ืชืช-ืืืืืฉื ืืืช ืขื ืฉืืืืข ื-5200 IOPS (325 MB/s). ืืงืฆื ืืืจืื ืฉื 7183 IOPS (449 MB/s) ืขื ืืืืื ืฉื 2,22 ms ืืืื ืืช ืืืื ื ืืื ืืืงืื ืืฉื ื ืืืืจืื ืืืืื.
ืืขืช ืืืืงืช ืคืขืืืืช ืืชืืื ืขืืงืืืช, ืืืฉืืจ ืงืื ืืกืืื ืขืื ืขื ืื ืืืชืืจืื, ืืฉืืจ ืขื ืืื ืืฉืืืื ืืชืืช ื-1 ms ืื ืืืจื ืขื ื-5700 IOPS (356 MB/s). ืืืืืจืืช ืืืงืกืืืืืช ืืืืชื 6291 IOPS (395 MB/s) ืขื ืืืืื ืฉื 2,51 ืืืคืืืช ืืฉื ืืื.
ืืืืจ ืืื, ืขืืจื ื ืืืฉืืืืช SQL, ืฉืืื ืืื ื Kingston DC500R ืืื ืืืืฉืืจ ืืืืื ืฉืจืืืช ืืืฉืืื ืฉืื ืขืื ืืขืืจ ืืืืคืืช ืฉื ืืื ืืื ืฉืืืฉืช ืืืืืงืืช. ืืืงืจื ืืจืืฉืื, ืืืืกืง ืืจืื ืืืืจืืช ืืจืืืช ืฉื 26411 IOPS ืขื ืืืืื ืฉื 1,2 ืืืคืืืช ืืฉื ืืื.
ืืืืื SQL 90-10, ืืืื ื ืฉื ืงืื ืืกืืื ืืืืข ืืืงืื ืืืืจืื ืขื ืืืืจืืช ืืงืกืืืืืช ืฉื 27339 IOPS ืืืฉืืืื ืฉื 1,17 ืืืคืืืช ืืฉื ืืื.
ืืืชื ืืืจ ืงืจื ืืืืื SQL 80-20. ืืืฉืืจ ืงืื ืืกืืื ืืืงืจื ืื ืืจืื ืืืืจืืช ืืจืืืช ืฉื 29576 IOPS ืขื ืืืืื ืฉื 1,08 ืืืคืืืช ืืฉื ืืื.
ืชืืฆืืืช ืืืืงืช ืขืืืก ืืขืืืื ืฉื Oracle ืฉืื ืืฆืืื ืืช ื-DC500R ืืืงืื ืืืืจืื, ืื ืืืืฉืืจ ืขืืืื ืืจืื ืืืืื ืฉื ืชืช ืืืคืืืช ืืฉื ืืื ืืฉื ื ืืืืงืืช. ืืืงืจื ืืจืืฉืื, ืืืืืจืืช ืืืจืืืช ืฉื ืืืกืง ืงืื ืืกืืื ืืืืชื 29098 IOPS ืขื ืืืืื ืฉื 1,18 ืืืคืืืช ืืฉื ืืื.
ืืืืื ืืฉื ื (Oracle 90-10), ื-DC500R ืืฉืื 24555 IOPS ืขื ืืืืื ืฉื 894,3 ยตs.
ืืืืืงื ืืฉืืืฉืืช (Oracle 80-20), ืืืืืจืืช ืืืจืืืช ืฉื ืืืฉืืจ ืงืื ืืกืืื ืืืืชื 26401 IOPS ืขื ืจืืช ืืืืื ืฉื 831,9 ฮผs.
ืืืืจ ืืื ืขืืจื ื ืืืขืชืงืช VDI - ืืฆืืจืช ืขืืชืงืื ืืืืื ืืืงืืฉืจืื. ืืืืืงืช ืืขืื ืช ืขืืชืง VDI ืืื, ืืื ื ืงืื ืืกืืื ืฉืื ืื ืืฆืืื ืื ืฆื ืืช ืืชืืจืื. ืืืืฉืืจ ืฉืืจ ืขื ืืืืื ืืชืืช ื-1 ms ืขื ืืืืืจืืืืช ืฉื ื-12000 IOPS, ืืืืืืจืืช ืืืจืืืช ืืืืชื 16203 IOPS ืขื ืืืืื ืฉื 2,14 ms.
ืืขืช ืืืืงืช ืขืืชืง ืืืชืืืจืืช ืืจืืฉืื ืืช ืฉื ื-VDI, ืืืฉืืจ ืงืื ืืกืืื ืคืขื ืืื ืืืชืจ, ืืืกืืคื ืฉื ืืืจ ืกืืื (ืืคืขืจ ืงื) ืืืงืื ืืฉื ื. ืืืื ื ืฉืืจ ืขื ืืืืื ืืชืื ืืืคืืช ืฉื ืืื ืขื ืฉืืืืข ืืืืืจืืืืช ืฉื 11000 IOPS, ืืืืืืจืืช ืืืจืืืช ืืืืชื 13652 IOPS ืขื ืืืืื ืฉื 2,18 ืืืคืืืช ืืฉื ืืื.
ืืื ืื, ืืืคืจืฉ ืงื, ืืืื ื ืฉื ืงืื ืืกืืื ืชืคืก ืืช ืืืงืื ืืฉื ื ืืืืื ื-Monday Login ืขืืืจ ืขืืชืง VDI ืืื. ืืืื ื Seagate Nytro 1351 ืืื ืืืืจืืช ืืจืืืช ืืขื ืืืืื ืืืชืจ, ืื ืืืฉืืจ ืืงืื ืืกืืื ืืจืื ืจืืืช ืืืืื ื ืืืืืช ืืืชืจ ืืกื ืืื ืืืืจื ืืืืื. ืืืืืจืืช ืืืจืืืช ืฉื ื-DC500R ืืืืชื 11897 IOPS ืขื ืืืืื ืฉื 1,31 ืืืคืืืช ืืฉื ืืื.
ืืืืืงืช ืืขืื ืช ืขืืชืงื VDI ืืงืืฉืจืื, ืืืฉืืจ ืงืื ืืกืืื ืืืืข ืืืงืื ืืืืจืื. ืืืฉืืื ืืจืื ื-1 ms ืืืจ ืืืืืจืืืืช ืฉื ืคืืืช ื-6000 IOPS. ืืืืืจืืช ืืืจืืืช ืฉื ื-DC500R ืืืืชื 7861 IOPS ืขื ืืืืื ืฉื 2,03 ืืืคืืืช ืืฉื ืืื.
ืขื ืืืช, ืขื ืคื ืชืืฆืืืช ืืืื ืืืชืืืจืืช ืืจืืฉืื ื, ืืืื ื ืฉืื ืชืคืก ืืช ืืืงืื ืืฉื ื: ืืืฉืืื ืืจืื ืืืืคืืืช ืืฉื ืืื ืจืง โโืืืืจ ืฉืืืขื ืืืืขื ืืืืฆืืขื ืฉืื, ืื ืฉืืกืืคื ืฉื ืืืจ ืืกืชืื ื- 7950 IOPs ืขื ืืืืื ืฉื 1,001 ืฉื ืืืช.
ืืืืืงื ืืืืจืื ื ืฉื ืขืืชืง ืืงืืฉืจ ืฉื VDI - Monday Login - ืืืื ื ืืจืื ืื ืืช ืืชืืฆืื ืืฉื ืืื: ืืืืจืืช ืืจืืืช ืฉื 9205 IOPS ืขื ืืืืื ืฉื 1,72 ืืืคืืืช ืืฉื ืืื. ืืืฉืืื ืขืืจื ืืืชืจ ืืืืคืืช ืฉื ืืื ืืืฉืจ ืืืืืจืืช ืืืืขื ื-6400 IOPS.
ืืกืงื ื
ื-DC500R ืืื ื-SSD ืืืืจืื ืฉื ืงืื ืืกืืื ืืืืืขื ืืืฉืชืืฉืื ืืจืืื ืืื. ื-DC500R ืืืืข ืืคืืจืื 2,5 ืืื ืฅ'. ืืงืืืืืช ืืืืื ื ื ืขื ืืื 480 GB ื-3,84 TB. ืืืื ื ืืืืกืก ืขื ืืื ืืืืืืืช ืืืืจืื ืคืืืฉ 3D TLC NAND ืืืฉืื ืืฉืื ืืจืื ืืจืืช ืืืฆืืขืื ืืืืื. ืขืืืจ ืืื ื 3,48 TB, ืืืืจืืืืช ืงืจืืื ืืืชืืื ืขืืงืืืช ืฉื 555 ื-520 MB/s ืืฆืืื ืืช, ืืืชืืื, ืืืืจืืืืช ืงืจืืื ืืืชืืื ืืขืืืกืื ืงืืืขืื ืฉื 98000 ื-28000 IOPS, ืืืชืืื, ืืื ืื ืงืืืืืช ืืฉืืืื ืฉื 3504 TBW.
ืืื ืืืขืจืื ืืช ืืืืฆืืขืื ืฉื Kingston DC500R, ืืฉืืืื ื ืืืชื ืืืื ื ื SATA SSD ืคืืคืืืจืืื ืืืจืื, ืืืื ืืื ื ื ืกืืกืื ื
ืืืืืงืช ืงืจืืื ืืืชืืื ืืงืจืืืช ืฉื 4KB, ื- Kingston DC500R ืืฉืื 80209 IOPS ื- 1,59 ms ืงืจืืื ืืืืื, ื- 63000 IOPS ื- 2 MS ืืืชืืื ืืืืื. ืืืืืงืช ืงืจืืื ืืืชืืื ืฉื 64KB ืืืืง, DC500R ืืฉืื ืืืืจืืืืช ืฉื 7183 IOPS (449 ืืืืืืื/ืฉื ืืืช) ืขื ืืฉืืืืช 2,22 ื.ืก. ื 6291 IOPS (395 ืืื -ืืืื/ืฉื ืืืช) ืขื ืืืืื ืฉื 2,51 MS, ืืืชืืื. ืืืืืงืืช ืกืื ืชืืืืช ืืืืฆืขืืช ืืกืื ื ืชืื ืื ืฉื SQL ื- Oracle ืืืจืืฉืืช ืืืืจืืช ืืืชืืื ืืืืืจืช, ืืืืฆืืขืื ืฉื DC500R ืืืชืืจื ืืจืื ืืจืฆืื. ืขืืืจ ืขืืืกื ืขืืืื ืฉื SQL, ืงืื ืืกืืื DC500R ืืืืข ืืืืช ืืืจืื ืืื ืฉืืืฉืช ืืืืื ืื ืืืื ืืืื ื ืืืืื ืืืฉืื ืืืืื ืชืช-ืฉื ืืื. ืขื ืืืช, ืืืืืงืช ืืืจืงื ืืชืืื ื ืืชืืจืจื ืืืืื ืืืจืื. ืืฉื ืืื ืืชืื ืฉืืืฉ ืืืืงืืช, ืืืื ื ืฉืืจ ืขื ืืฉืืื ืืชืืช ื -1 ืฉื ืืืช, ืฉืืืชื ืื ืืืงืื ืืฉื ื. ื- Kingston DC500R ืืจืื ืจืืืช ืืืฆืืขืื ืืืื ืืช ืืืฉืจ ื ืืืง ืืืืฆืขืืช ืขืืชืงื VDI, ืืืืื ืืื ืืงืืฉืจืื.
ืืืืคื ืืืื,
ืืืื ืกืืจืช DC500 ืืืื ืื ืืืืื ื ืืืืคืืฆืื ืืจืฉืืืื ืฉื Kingston.
ืืฉืืืืช ืขื ืืืืงื ืืืืืืช, ื ืืชื ืืืฆืืจ ืงืฉืจ ืขื ื ืฆืืืืช Kingston Technology ืืจืืกืื ืืืืฆืขืืช ืืืืจ ืืืงืืจืื ื [ืืืื ืืืื"ื]
ืืืืืข ื ืืกืฃ ืขื ืืืฆืจืื
ืืงืืจ: www.habr.com