็†ฑ้–€ๅˆ†้กž
 ่ผ‰ๅ…ฅไธญ…
็›ฎ้Œ„

๐Ÿงฉ Linux ็ณป็ตฑๆœ€ไฝณๅŒ–:sysctl ่ˆ‡ I/O ่ชฟๆ กๅฏฆๆˆฐ

    ๐Ÿงฉ Linux ็ณป็ตฑๆœ€ไฝณๅŒ–:sysctl ่ˆ‡ I/O ่ชฟๆ กๅฏฆๆˆฐ

    ๅœจไผๆฅญไผบๆœๅ™จ็’ฐๅขƒไธญ,ๆ•ˆ่ƒฝ่ชฟๆ ก(Performance Tuning) ๆ˜ฏๆๅ‡็ฉฉๅฎšๅบฆ่ˆ‡้™ไฝŽๅปถ้ฒ็š„้—œ้ต。 ๆœฌ็ฏ‡ๆ•™ๅญธๅฐ‡ๅธถไฝ ่ชฟๆ•ด sysctlI/O ๆŽ’็จ‹ ่ˆ‡ ๆช”ๆกˆ็ณป็ตฑๅƒๆ•ธ, ๅฏฆ็พ้ซ˜ๆ•ˆ่ƒฝ็š„ Linux ็ณป็ตฑ็’ฐๅขƒ。


    ๐Ÿ“˜ ไธ€、sysctl ๆ ธๅฟƒๅƒๆ•ธ่ชฟๆ•ด

    ็ทจ่ผฏ็ณป็ตฑ่จญๅฎš:

    sudo vi /etc/sysctl.conf
      

    ๅŠ ๅ…ฅไปฅไธ‹็ฏ„ไพ‹:

    # TCP ๅ„ชๅŒ–
    net.ipv4.tcp_fin_timeout = 15
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_max_syn_backlog = 4096
    # ๆช”ๆกˆๆ่ฟฐ็ฌฆไธŠ้™
    fs.file-max = 2097152
    # ็ถฒ่ทฏ็ทฉ่กๅ€
    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
      

    ็ซ‹ๅณๅฅ—็”จ:

    sudo sysctl -p
      

    ⚙️ ไบŒ、I/O ๆŽ’็จ‹ๅ™จ่จญๅฎš

    ๆŸฅ็œ‹็›ฎๅ‰ๆŽ’็จ‹ๆ–นๅผ:

    cat /sys/block/sda/queue/scheduler

    ่‹ฅ็‚บ้ซ˜ IOPS SSD,ๅฏๅˆ‡ๆ›่‡ณ none ๆˆ– mq-deadline

    sudo echo mq-deadline > /sys/block/sda/queue/scheduler
      

    ๐Ÿ’ก ไธ‰、ๆช”ๆกˆ็ณป็ตฑๆŽ›่ผ‰ๅ„ชๅŒ–

    ้‡ๅฐ SSD ๅฏๅŠ ๅ…ฅไปฅไธ‹ๅƒๆ•ธๆ–ผ /etc/fstab

    UUID=xxxx / ext4 defaults,noatime,discard 0 1
      

    ๅฏ้™ไฝŽไธๅฟ…่ฆ็š„ metadata ๅฏซๅ…ฅ่ˆ‡ๅปถ้ฒ。


    ๐Ÿ“ˆ ๅ››、ๆ•ˆ่ƒฝๆชขๆธฌๅทฅๅ…ท

    • iostat:็›ฃๆธฌ I/O ่ฒ ่ผ‰。
    • vmstat:่จ˜ๆ†ถ้ซ”่ˆ‡ CPU ็‹€ๆ…‹。
    • iotop:ๅณๆ™‚ I/O ็จ‹ๅบๅˆ—่กจ。
    • sysbench:ๅฃ“ๅŠ›ๆธฌ่ฉฆๅทฅๅ…ท。

    ๐Ÿ”— ๅปถไผธ้–ฑ่ฎ€

    — WWFandy・Linux ๆ•ˆ่ƒฝ่ชฟๆ ก็ญ†่จ˜

    ๐Ÿ”— ๅˆ†ไบซ้€™็ฏ‡ LINE Facebook X

    ๆฒ’ๆœ‰็•™่จ€:

    ๅผต่ฒผ็•™่จ€

    ๅญ—็ดš