บนเซิร์ฟเวอร์ DL380p Gen8 ที่ใช้ XFS ด้านบนของ LVM ด้านบนของการจู่โจม 1 + 0 ที่มีดิสก์ 6 แผ่นเวิร์กโหลดที่เหมือนกันส่งผลให้ปริมาณการเขียนดิสก์บน RHEL เพิ่มขึ้นสิบเท่าเมื่อเทียบกับ RHEL 5 ทำให้แอปพลิเคชันใช้งานไม่ได้
โปรดทราบว่าฉันไม่ได้มองหาการเพิ่มประสิทธิภาพของระบบ co6 ให้มากที่สุดเท่าที่จะเป็นไปได้ แต่ในการทำความเข้าใจว่าทำไม co6 จึงมีพฤติกรรมที่แตกต่างกันอย่างมากและการแก้ปัญหานั้น
vmstat / iostat
เรามีการตั้งค่าการจำลองแบบ MySQL โดยใช้ mysql 5.5 Mysql slaves บนเซิร์ฟเวอร์ Gen8 ที่ใช้ RHEL 6 ในขณะที่ระบบปฏิบัติการทำงานได้ไม่ดีการตรวจสอบด้วย vmstat และ iostat แสดงให้เห็นว่าเซิร์ฟเวอร์เหล่านี้ทำกิจกรรมออกหน้าสิบครั้งและปริมาณการเขียนไปยังระบบย่อยของดิสก์สิบเท่า blktrace แสดงว่าการเขียนเหล่านี้ไม่ได้เริ่มต้นโดย mysql แต่โดยเคอร์เนล
Centos 5:
[dkaarsemaker@co5 ~]$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 12 252668 102684 10816864 0 0 8 124 0 0 9 1 90 0 0
1 0 12 251580 102692 10817116 0 0 48 2495 3619 5268 6 1 93 0 0
3 0 12 252168 102692 10817848 0 0 32 2103 4323 5956 6 1 94 0 0
3 0 12 252260 102700 10818672 0 0 128 5212 5365 8142 10 1 89 0 0
[dkaarsemaker@co5 ~]$ iostat 1
Linux 2.6.18-308.el5 (bc290bprdb-01.lhr4.prod.booking.com) 02/28/2013
avg-cpu: %user %nice %system %iowait %steal %idle
8.74 0.00 0.81 0.25 0.00 90.21
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
cciss/c0d0 277.76 399.60 5952.53 2890574849 43058478233
cciss/c0d0p1 0.01 0.25 0.01 1802147 61862
cciss/c0d0p2 0.00 0.01 0.00 101334 32552
cciss/c0d0p3 277.75 399.34 5952.52 2888669185 43058383819
dm-0 32.50 15.00 256.41 108511602 1854809120
dm-1 270.24 322.97 5693.34 2336270565 41183532042
avg-cpu: %user %nice %system %iowait %steal %idle
7.49 0.00 0.79 0.08 0.00 91.64
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
cciss/c0d0 300.00 32.00 4026.00 32 4026
cciss/c0d0p1 0.00 0.00 0.00 0 0
cciss/c0d0p2 0.00 0.00 0.00 0 0
cciss/c0d0p3 300.00 32.00 4026.00 32 4026
dm-0 0.00 0.00 0.00 0 0
dm-1 300.00 32.00 4026.00 32 4026
avg-cpu: %user %nice %system %iowait %steal %idle
4.25 0.00 0.46 0.21 0.00 95.09
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
cciss/c0d0 507.00 160.00 10370.00 160 10370
cciss/c0d0p1 0.00 0.00 0.00 0 0
cciss/c0d0p2 0.00 0.00 0.00 0 0
cciss/c0d0p3 507.00 160.00 10370.00 160 10370
dm-0 0.00 0.00 0.00 0 0
dm-1 507.00 160.00 10370.00 160 10370
avg-cpu: %user %nice %system %iowait %steal %idle
5.33 0.00 0.50 0.08 0.00 94.09
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
cciss/c0d0 318.00 64.00 4559.00 64 4559
cciss/c0d0p1 0.00 0.00 0.00 0 0
cciss/c0d0p2 0.00 0.00 0.00 0 0
cciss/c0d0p3 319.00 64.00 4561.00 64 4561
dm-0 0.00 0.00 0.00 0 0
dm-1 319.00 64.00 4561.00 64 4561
และใน Centos 6 การเพจที่เพิ่มขึ้นสิบเท่าและการเขียนดิสก์:
[root@co6 ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 361044 52340 81965728 0 0 19 1804 36 110 1 1 98 0 0
0 0 0 358996 52340 81965808 0 0 272 57584 1211 3619 0 0 99 0 0
2 0 0 356176 52348 81966800 0 0 240 34128 2121 14017 1 0 98 0 0
0 1 0 351844 52364 81968848 0 0 1616 29128 3648 3985 1 1 97 1 0
0 0 0 353000 52364 81969296 0 0 480 44872 1441 3480 1 0 99 0 0
[root@co6 ~]# iostat 1
Linux 2.6.32-279.22.1.el6.x86_64 (bc291bprdb-01.lhr4.prod.booking.com) 02/28/2013 _x86_64_ (32 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.08 0.00 0.67 0.27 0.00 97.98
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 373.48 1203.02 115203.05 11343270 1086250748
dm-0 63.63 74.92 493.63 706418 4654464
dm-1 356.48 1126.72 114709.47 10623848 1081596740
avg-cpu: %user %nice %system %iowait %steal %idle
0.25 0.00 0.19 0.06 0.00 99.50
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 330.00 80.00 77976.00 80 77976
dm-0 0.00 0.00 0.00 0 0
dm-1 328.00 64.00 77456.00 64 77456
avg-cpu: %user %nice %system %iowait %steal %idle
0.38 0.00 0.19 0.63 0.00 98.81
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 570.00 1664.00 128120.00 1664 128120
dm-0 0.00 0.00 0.00 0 0
dm-1 570.00 1664.00 128120.00 1664 128120
avg-cpu: %user %nice %system %iowait %steal %idle
0.66 0.00 0.47 0.03 0.00 98.84
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 317.00 448.00 73048.00 448 73048
dm-0 34.00 0.00 272.00 0 272
dm-1 309.00 448.00 72776.00 448 72776
แคบลง
เซิร์ฟเวอร์ Gen 8 ที่ใช้ RHEL 5 และเซิร์ฟเวอร์ Gen 7 ที่ใช้ RHEL 5 หรือ 6 ไม่แสดงปัญหานี้ นอกจากนี้ RHEL 6 ที่มี ext3 เป็นระบบไฟล์แทนค่า XFS เริ่มต้นของเราจะไม่แสดงปัญหา ปัญหาดูเหมือนว่าจะอยู่ระหว่าง XFS, ฮาร์ดแวร์ gen8 และ centos 6 RHEL 6 ยังแสดงปัญหา
แก้ไข 29/04: เราเพิ่ม qlogic HBA ของเครื่อง G8 การใช้ XFS บนที่เก็บข้อมูลแชนเนลไฟเบอร์ไม่แสดงปัญหา ดังนั้นมันจึงเป็นการโต้ตอบระหว่าง xfs / hpsa / p420i แน่นอน
XFS
XFS ที่ใหม่กว่าใน rhel 8 ดูเหมือนว่าจะสามารถตรวจจับความกว้างของแถบพื้นฐาน แต่เฉพาะในคอนโทรลเลอร์ p420i ที่ใช้ไดรเวอร์ hpsa ไม่ใช่คอนโทรลเลอร์ p410i ที่ใช้ cciss
เอาต์พุต xfs_info:
[root@co6 ~]# xfs_info /mysql/bp/
meta-data=/dev/mapper/sysvm-mysqlVol isize=256 agcount=16, agsize=4915136 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=78642176, imaxpct=25
= sunit=64 swidth=192 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=38400, version=2
= sectsz=512 sunit=64 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
sunit / swidth เป็นทั้ง 0 ในการตั้งค่าทั้งหมดที่ทำเครื่องหมายว่าตกลงด้านบน ดูเหมือนว่าเราจะไม่สามารถเปลี่ยนแปลงสิ่งนี้ไม่ว่าจะเป็น mkfs หรือด้วยตัวเลือก noalign mount เราไม่รู้ด้วยซ้ำว่านี่เป็นสาเหตุหรือไม่
Hugepages
คนอื่นที่มีปัญหา XFS ใน rhel 6 กล่าวว่าการปิดใช้งาน hugepages และโดยเฉพาะอย่างยิ่ง hugepages ที่โปร่งใสจะเป็นประโยชน์ เราปิดการใช้งานทั้งสองปัญหาไม่ได้หายไป
เราได้ลองและสังเกตหลายสิ่งแล้วไม่มีสิ่งใดช่วย:
- การใช้ numactl เพื่อควบคุมการจัดสรรหน่วยความจำ เราสังเกตเห็นว่า g7 และ g8 มีเลย์เอาต์ numa ที่แตกต่างกัน
- เมล็ดใหม่กว่า (ใหม่เท่า 3.6) ดูเหมือนจะไม่สามารถแก้ปัญหานี้ได้ ไม่ใช้ fedora 17
- iostat ไม่ได้รายงานการเพิ่มขึ้นของการเขียนเป็นสิบเท่าในจำนวนไบต์ที่เขียนเท่านั้น
- การใช้ตัวกำหนดเวลา I / O ที่แตกต่างกันไม่มีผล
- การติดตั้งระบบไฟล์ noatime / nobarrier / nopdiratime ที่เกี่ยวข้องไม่ได้ช่วยอะไร
- การเปลี่ยน / proc / sys / vm / dirty_ratio ไม่มีผลใด ๆ
- สิ่งนี้เกิดขึ้นทั้งกับระบบที่ใช้ซีพียู 2640 และ 2670
- hpsa-3.2.0 ไม่ได้แก้ปัญหา
mkfs.xfs
และmount
ตัวเลือกของคุณ EL6 คือการจัดตำแหน่งพาร์ติชันที่ทราบ HPSA จะใช้งานสำหรับตัวควบคุม Smart Array ทั้งสองชนิดภายใต้ EL6 แต่ EL5 จะใช้ CCISS