Linux อ่านข้อมูลในการบูตเฉลี่ยเท่าใด


9

ฉันสงสัยว่าข้อมูลทั้งหมดในระบบวานิลลาลินุกซ์ที่ติดตั้งใหม่ (เช่น CentOS 5.10 32- บิต) อ่านเพื่อให้ได้รับพร้อมท์คอนโซลเชลล์เสมือนจริงหรือไม่ คุณรู้การอ่านไฟล์การตั้งค่าทั้งหมดโหลดไบนารีภาพเคอร์เนล ฯลฯ

ฉันกำลังมองหาการประมาณการตามลำดับความสำคัญ ฉันรู้ว่าการบูท Linux นั้นแตกต่างกันไปตามรายละเอียดของกระบวนการ เรากำลังพูดถึง 10Mb? 100Mb? 1Gb?


5
ทำไมคุณถาม
Zoredache

2
ความแปรปรวนคือ (สามารถ) ลำดับความสำคัญระหว่างระบบ - การโหลดเคอร์เนลและไดรเวอร์เป็นส่วนที่น้อยที่สุดของกระบวนการบูตและสคริปต์ init บนระบบสามารถทำอะไรได้อย่างแท้จริงก่อนที่คุณจะได้รับพร้อมต์การล็อกอิน โปรดอธิบายสถานการณ์ที่คุณเผชิญด้วยในแง่ของปัญหาจริงที่ใช้งานได้จริงซึ่งเราสามารถช่วยคุณแก้ปัญหาได้
voretaq7

1
@amn คุณสามารถใส่เหตุผลในคำถามเริ่มต้นของคุณ? มันจะช่วยในบริบท อีกเหตุผลหนึ่งที่ผู้คนจะถามคำถามที่คล้ายกันคือถ้าพวกเขาใช้พื้นที่เก็บข้อมูลที่ จำกัด รอบ รายละเอียดเพิ่มเติมดีกว่าเสมอ
ewwhite

8
@ whitewhite ฉันกำลังบูทเครื่อง Linux 100s และ 95% ของเนื้อหาระบบเหมือนกันและจะยังคงเหมือนเดิม - เครื่องเป็นโคลน ฉันต้องการถ่ายส่วนที่เหมือนกัน / อ่านอย่างเดียวของระบบไฟล์ไปยังที่เก็บข้อมูล NFS ติดตั้งจากที่นั่นและบูตแบบนั้น เฉพาะส่วนที่เขียนได้ของระบบไฟล์เช่น / var, / tmp และ / home เท่านั้นที่จะยังคงอยู่ในเครื่องของแต่ละเครื่อง เนื่องจากอาจมีร้อยเครื่องที่สามารถบู๊ตพร้อมกันในฐานะเป็นส่วนหนึ่งของ "คลัสเตอร์" ฉันจำเป็นต้องประเมินว่าลิงก์หน่วยเก็บข้อมูล NFS ที่เข้าถึงนั้นจะเป็นคอขวดหรือไม่ในขณะที่ทำการบู๊ต
พฤศจิกายน

5
I need to estimate...จากนั้นทำหนึ่งและวัด
symcbean

คำตอบ:


8

ติดตั้งระบบใดระบบหนึ่งบูตและตรวจสอบสถิติบล็อกชั้นจากเช่น/sys/block/${DEV}/stat/sys/block/sda/stat

การอ้างอิงจากเอกสาร :

ไฟล์ stat ประกอบด้วยข้อความบรรทัดเดียวที่มีค่าทศนิยม 11 ค่าคั่นด้วยช่องว่าง ฟิลด์ถูกสรุปในตารางต่อไปนี้และอธิบายรายละเอียดเพิ่มเติมด้านล่าง:

Name            units         description
----            -----         -----------
read I/Os       requests      number of read I/Os processed
read merges     requests      number of read I/Os merged with in-queue I/O
read sectors    sectors       number of sectors read
read ticks      milliseconds  total wait time for read requests
write I/Os      requests      number of write I/Os processed
write merges    requests      number of write I/Os merged with in-queue I/O
write sectors   sectors       number of sectors written
write ticks     milliseconds  total wait time for write requests
in_flight       requests      number of I/Os currently in flight
io_ticks        milliseconds  total time this block device has been active
time_in_queue   milliseconds  total wait time for all requests

อ่านภาคส่วนเขียน

ค่าเหล่านี้นับจำนวนภาคที่อ่านหรือเขียนไปยังอุปกรณ์บล็อกนี้ "เซ็กเมนต์" ที่สงสัยคือเซกเตอร์ UNIX 512- ไบต์มาตรฐานไม่ใช่ขนาดบล็อกของอุปกรณ์หรือระบบไฟล์ใด ๆ ตัวนับจะเพิ่มขึ้นเมื่อ I / O เสร็จสมบูรณ์

คุณสามารถใช้สายการบินเดียวนี้เพื่อรับจำนวนไบต์ได้ง่ายขึ้น:

awk '{printf("read %d bytes, wrote %d bytes\n", $3*512, $7*512)}' /sys/block/vda/stat

ผลลัพธ์สำหรับ Scientific Linux 6.1 i386

ฉันทดสอบสิ่งนี้บนเครื่องเสมือน KVM / qemu ที่ใช้Scientific Linux 6.1 i386 (ซึ่งคล้ายกับ RHEL) บริการต่อไปนี้ถูกเปิดใช้งาน: acpid, auditd, crond, เครือข่าย, postfix, rsyslog, sshd และ udev-post การสลับจะอยู่บนดิสก์ที่แยกต่างหากดังนั้นจึงไม่นำมาพิจารณา

สถิติของ 85 บูท, ถ่ายจากระยะไกลด้วย SSH สองสามวินาทีหลังจากการแจ้งเตือนการล็อกอินปรากฏขึ้นคือ:

    Name            Median   Average   Stdev
    -------------   ------   -------   -----
    read I/Os       1920     1920.2    2.6
    read merges     1158     1158.4    1.8
    read sectors    85322    85330.9   31.9
 >> read MiBytes    41.661   41.665    0.016
    read ticks      1165     1177.2    94.1
    write I/Os      33       32.6      1.7
    write merges    64       59.6      7.4
    write sectors   762      715.2     70.9
 >> write MiBytes   0.372    0.349     0.035
    write ticks     51       59.0      17.4
    in_flight       0        0.0       0.0
    io_ticks        895      909.9     57.8
    time_in_queue   1217     1235.2    98.5

เวลาบูตประมาณ 20 วินาที


2
โปรดทราบว่าสิ่งนี้ดูเหมือนจะให้ความต้องการการโอน (ปริมาณ) เท่านั้นไม่ใช่ความต้องการปริมาณงาน (อัตรา) คุณสามารถหารด้วย uptime เพื่อรับจำนวนเฉลี่ย
voretaq7

15

คุณพูดในความคิดเห็นของคุณว่าคุณกำลังประเมินสภาพแวดล้อมของ root netboot / network

สิ่งแรกที่คุณต้องรู้คือไม่มีสิ่งเช่น "วานิลลา" - คุณจะไม่เรียกใช้ CentOS 5.10 ทันทีที่ออกจากกล่องโดยไม่มีการเปลี่ยนแปลงศูนย์ (ถ้าคุณคิดว่าคุณกำลังหลอกตัวเอง: NFS รูทแล้ว อย่างน้อยสตรอเบอร์รี่, กลั่นบน Pistachio)

หากคุณต้องการคำตอบสำหรับสภาพแวดล้อมเฉพาะของคุณ (ซึ่งเป็นสิ่งที่สำคัญจริงๆ) คุณจะต้องตั้งค่าเซิร์ฟเวอร์ NFS และเครื่องไคลเอนต์บูตเครื่องและวัดค่า:

  1. การถ่ายโอน (ปริมาณ)
  2. ปริมาณงาน (อัตรา)

ค่าทั้งสองจะมีความสำคัญอย่างยิ่งต่อประสิทธิภาพ คุณอาจจะยังต้องการที่จะตั้งขึ้นมาหลายลูกค้าในบางจุดและจำลองการใช้งานปกติของระบบเพื่อดูสิ่งที่ชนิดของความต้องการที่มั่นคงของรัฐพวกเขาวางบน NFS เซิร์ฟเวอร์ / เครือข่ายของคุณเมื่อมีคนกำลังใช้ระบบที่พวกเขาจะอยู่ในชีวิตประจำวันของพวกเขา งาน.

ดูเพิ่มเติม: ซีรี่ส์ของเราเกี่ยวกับการวางแผนกำลังการผลิต - เราไม่ได้พูดถึงเฉพาะเกี่ยวกับ NFS แต่ใช้หลักการทั่วไปของ "สร้างทดสอบทดสอบเน้น"


1
หากมีวานิลลาไอศครีมก็จะมีวานิลลาลินุกซ์! ;-) อย่างจริงจังแม้ว่ามันจะเป็น CentOS 5.10 ที่ไม่เปลี่ยนแปลงเลยทีเดียวและสิ่งที่ถูกเปลี่ยนแปลงนั้นเป็นส่วนหนึ่งของระบบไฟล์ที่เขียนได้ซึ่งจะไม่ถูกเมาท์จาก NFS ดังนั้นจึงไม่ใช่ปัจจัย - ใช่มีฐานข้อมูลขนาดยักษ์ของ Postgres ใน / var / lib แต่ / var ไม่ได้ติดตั้งจาก NFS แต่อยู่ในดิสก์เริ่มต้นระบบแบบโลคัล และถ้าผมอยากไปที่โปรไฟล์มันฉันจะไม่ได้รับการถามคำถามที่นี่ :-)
AMN

10
@ ฉันเสียใจที่คุณไม่ต้องการทำโปรไฟล์ แต่คุณต้องทำสิ่งที่คุณต้องทำ - เราไม่สามารถดึงตัวเลขที่เกี่ยวข้องออกจากก้นของเราให้คุณได้ โซลูชันของคุณ (รูท NFS) เป็นเสียงที่ผ่านการทดสอบตามเวลาและโดยสุจริตคุณสามารถปรับใช้ตาบอดได้โดยไม่มีปัญหา (สภาพแวดล้อมของ Sun Microsystems นับหมื่นถูกปรับใช้แบบคนตาบอดเหมือนในสมัยรุ่งเรืองของ NFS-root & Netbooting โซลาริส & ทำงานได้ดี) หากคุณกังวลเกี่ยวกับประสิทธิภาพแม้ว่าคุณจะต้องทำการทำโปรไฟล์เพื่อกำหนดความต้องการและคอขวดสำหรับสภาพแวดล้อมเฉพาะของคุณนั่นเป็นเพียงแนวทางของจักรวาล
voretaq7

+1 สำหรับสตรอเบอร์รี่
alexyorke

1
@ voretaq7 ไม่สามารถโต้เถียงกับอาร์กิวเมนต์การทำโปรไฟล์และไม่เคยทำ ฉันต้องการสิ่งที่ดีที่สุดถัดไปก่อนที่จะพับแขนเสื้อและตั้งค่า NFS ขอบคุณสำหรับการป้อนข้อมูลที่มีค่าของคุณ
พฤศจิกายน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.