Tôi không thấy hiệu suất ghi của Postgres tăng lên, tôi nghĩ rằng tôi sẽ làm với một ổ SSD duy nhất so với một mảng RAID 10 phần cứng (16) 15k RPM SAS.
Tôi có Dell R820 với thẻ RAID phần cứng PERC H700 và 16 ổ đĩa RPM 15 15k trong một mảng RAID 10, cũng như ổ SSD Intel s3700 800GB. Máy chủ có 128GB RAM và 64 lõi Xeon E5-4640 tốc độ 2.40GHz, chạy CentOS 6.4 và Postgres 9.2.4.
Tôi đang sử dụng pgbench để so sánh các ổ đĩa SAS trong một mảng RAID 10 với một ổ SSD.
Kết quả 10k RPM SAS RAID 10
pgbench -U postgres -p 5432 -T 50 -c 10 pgbench bắt đầu chân không ... kết thúc. loại giao dịch: TPC-B (loại) hệ số tỷ lệ: 1 chế độ truy vấn: đơn giản số lượng khách hàng: 10 số lượng chủ đề: 1 thời lượng: 50 giây số lượng giao dịch thực sự được xử lý: 90992 tps = 1819.625430 (bao gồm thiết lập kết nối) tps = 1821.417384 (không bao gồm thiết lập kết nối)
Kết quả SSD Intel s3700 đơn
pgbench -U postgres -p 5444 -T 50 -c 10 pgbench bắt đầu chân không ... kết thúc. loại giao dịch: TPC-B (loại) hệ số tỷ lệ: 1 chế độ truy vấn: đơn giản số lượng khách hàng: 10 số lượng chủ đề: 1 thời lượng: 50 giây số lượng giao dịch thực sự được xử lý: 140597 tps = 2811.687286 (bao gồm thiết lập kết nối) tps = 2814.578386 (không bao gồm thiết lập kết nối)
Trong sử dụng trong thế giới thực, chúng tôi có một quy trình rất chuyên sâu, mất khoảng 7 phút để hoàn thành và mảng RAID 10 và SSD nằm trong vòng 10 hoặc 15 giây với nhau.
Tôi mong đợi hiệu suất tốt hơn nhiều từ SSD.
Dưới đây là kết quả Bonnie ++ cho SSD:
Phiên bản 1.96 ------ Đầu ra tuần tự ------ - Đầu vào tương đương- - Cộng đồng- Đồng thời 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seek-- Kích thước máy K / giây% CP K / giây% CP K / giây% CP K / giây% CP K / giây% CP / giây% CP openlink2.rady 252G 532 99 375323 97 183855 45 1938 99 478149 54 +++++ +++ Độ trễ 33382us 82425us 168ms 12966us 10879us 10208us Phiên bản 1.96 ------ Tạo tuần tự ------ -------- Tạo ngẫu nhiên -------- openlink2.radyn.com -Create-- --Read --- -Delete-- -Create-- --Read --- -Delete-- tệp / giây% CP / giây% CP / giây% CP / giây% CP / giây% CP / giây% CP 16 5541 46 +++++ +++ +++++ +++ 18407 99 +++++ +++ +++++ +++ Độ trễ 1271us 1055us 1157us 456us 20us 408us
Dưới đây là kết quả Bonnie ++ cho các ổ đĩa RAID 10 15k RPM:
Phiên bản 1.96 ------ Đầu ra tuần tự ------ - Đầu vào tương đương- - Cộng đồng- Đồng thời 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seek-- Kích thước máy K / giây% CP K / giây% CP K / giây% CP K / giây% CP K / giây% CP / giây% CP openlink2.rady 252G 460 99 455060 98 309526 56 2156 94 667844 70 197.9 85 Độ trễ 37811us 62175us 393ms 75392us 169ms 17633us Phiên bản 1.96 ------ Tạo tuần tự ------ -------- Tạo ngẫu nhiên -------- openlink2.radyn.com -Create-- --Read --- -Delete-- -Create-- --Read --- -Delete-- tệp / giây% CP / giây% CP / giây% CP / giây% CP / giây% CP / giây% CP 16 12045 95 +++++ +++ +++++ +++ 16851 98 +++++ +++ +++++ +++ Độ trễ 7879us 504us 555us 449us 24us 377us
Dưới đây là kết quả dd cho SSD:
dd if = / dev / zero of = / path / on / ssd bs = 1M Count = 4096 conv = fdatasync, notrunc Sao chép 4294967296 byte (4,3 GB), 12,7438 giây, 337 MB / s
Và đây là kết quả dd cho các ổ đĩa RAID 10 15k RPM:
dd if = / dev / zero of = / path / on / mảng bs = 1M Count = 4096 conv = fdatasync, notrunc 4294967296 byte (4.3 GB) được sao chép, 8.45972 s, 508 MB / s
Tôi đã đăng cấu hình Postgres, nhưng rõ ràng SSD không vượt trội hơn mảng RAID 10, vì vậy nó dường như không thể áp dụng được.
Vì vậy, SSD là hoạt động như nó phải được?
Hay là RAID 10 với 16 ổ đĩa nhanh tốt đến mức nó vượt trội hơn một ổ SSD? Một mảng RAID 10 của SSD sẽ rất tuyệt vời, nhưng ở mức 2.000 đô la mỗi thẻ giá 8.000 đô la rất khó để biện minh (trừ khi chúng tôi chắc chắn sẽ thấy mức tăng gấp 2 đến 5 lần mà chúng tôi hy vọng sẽ đạt được trong hiệu suất thực tế).
================= Cập nhật =================
Hóa ra chúng ta có 16 ổ đĩa SAS trong mảng chứ không phải 8. Tôi nghĩ rằng thông lượng kết hợp là
Dưới đây là điểm chuẩn iozone làm sáng tỏ hơn. Mảng RAID10 tạo ra kết quả tốt hơn khá nhất quán. 4 hoặc 8 ổ SSD trong RAID 10 có thể sẽ đánh bại mảng SAS (tất nhiên là ở mức giá cao).
Điểm chuẩn SSD http://pastebin.com/vEMHCQhR
16 ổ đĩa chuẩn RAID-10 http://pastebin.com/LQNrm7tT
Dưới đây là cấu hình Postgres cho SSD, trong trường hợp bất kỳ ai cũng thấy bất kỳ chỗ nào cần cải thiện để tận dụng SSD http://pastebin.com/Qsb3Ks7Y
pg_test_fsync
và thay vì sử dd
dụng sysbench
các bài kiểm tra I / O trên đĩa.