ค้นหาเว็บไซต์

โหลดเว็บเซิร์ฟเวอร์ทดสอบด้วย Siege Benchmarking Tool


การรู้ว่าเว็บเซิร์ฟเวอร์ของคุณสามารถรับมือกับปริมาณการรับส่งข้อมูลได้มากเพียงใดเมื่ออยู่ภายใต้ความเครียดเป็นสิ่งสำคัญสำหรับการวางแผนการเติบโตของเว็บไซต์หรือแอปพลิเคชันของคุณในอนาคต ด้วยการใช้เครื่องมือที่เรียกว่า ล้อม คุณสามารถเรียกใช้การทดสอบโหลดบนเซิร์ฟเวอร์ของคุณและดูว่าระบบของคุณทำงานอย่างไรภายใต้สถานการณ์ที่แตกต่างกัน

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

ข้อสำคัญ: ล้อม ควรรันกับเซิร์ฟเวอร์ที่คุณเป็นเจ้าของเท่านั้น หรือบนเซิร์ฟเวอร์ที่คุณได้รับอนุญาตอย่างชัดแจ้งในการทดสอบ ในบางประเทศ การใช้การปิดล้อมเว็บไซต์ที่ไม่ได้รับอนุญาตถือได้ว่าเป็นอาชญากรรม

การติดตั้งยูทิลิตี้การทดสอบการโหลด Siege HTTP ใน Linux

Siege เป็นหลายแพลตฟอร์มและสามารถติดตั้งได้ภายใต้การกระจาย Ubuntu/Debian และ CentOS/RHEL โดยใช้คำสั่งต่อไปนี้

หากต้องการติดตั้ง Siege ภายใต้ Debin/Ubuntu คุณสามารถเรียกใช้:

sudo apt install siege

สำหรับ CentOS/RHEL คุณต้องติดตั้งและเปิดใช้งานพื้นที่เก็บข้อมูลเพื่อติดตั้ง Siege ด้วย:

yum install epel-release
yum install siege

หรือคุณสามารถสร้าง ล้อม จากแหล่งที่มาได้ เพื่อจุดประสงค์ดังกล่าว คุณจะต้องติดตั้งแพ็คเกจ จำเป็นต่อการสร้าง และแพ็คเกจการพัฒนา

sudo apt install build-essential       #Ubuntu/Debian
yum groupinstall 'Development Tools'   #CentOS/RHEL

จากนั้นคุณสามารถดาวน์โหลด Siege โดยใช้คำสั่ง wget และติดตั้งจากแหล่งต่างๆ ดังที่แสดง

wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-*/
sudo ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
sudo make && make install

การกำหนดค่ายูทิลิตีการทดสอบการโหลด Siege HTTP ใน Linux

เมื่อคุณติดตั้งเสร็จแล้ว คุณสามารถปรับไฟล์การกำหนดค่า ล้อม ได้ ตั้งอยู่ใน /etc/siege/siegerc ในกรณีที่คุณตัดสินใจสร้างแพ็คเกจจากแหล่งที่มา คุณจะต้องรัน:

sudo siege.config

สิ่งนี้จะสร้างไฟล์ siege.conf ที่อยู่ในบ้านของผู้ใช้ของคุณ ~/.siege/siege.conf

เนื้อหาของไฟล์ควรมีลักษณะเช่นนี้ โปรดทราบว่าฉันไม่ได้ใส่เครื่องหมายข้อคิดเห็นคำสั่ง logfile และ time:

cat siegerc |egrep -v "^$|#"
ผลลัพธ์ตัวอย่าง
logfile = $(HOME)/var/log/siege.log
verbose = false
color = on
quiet = false
show-logfile = true
logging = false
gmethod = HEAD
parser = true
nofollow = ad.doubleclick.net
nofollow = pagead2.googlesyndication.com
nofollow = ads.pubsqrd.com
nofollow = ib.adnxs.com
limit = 255
protocol = HTTP/1.1
chunked = true
cache = false
connection = close
concurrent = 25
time = 1M
delay = 0.0
internet = false
benchmark = false
accept-encoding = gzip, deflate
url-escaping = true
unique = true

ด้วยการกำหนดค่าปัจจุบัน ล้อมจะเลียนแบบผู้ใช้ 25 คนพร้อมกันในระยะเวลา 1 นาที

ตอนนี้คุณพร้อมที่จะเปิดล้อมแล้ว

ทดสอบการโหลดเว็บไซต์ด้วย Siege Benchmarking Utility

การเรียกใช้ ล้อม นั้นค่อนข้างง่าย คุณเพียงแค่ต้องระบุเว็บไซต์ที่คุณต้องการทดสอบดังนี้:

siege example.com

หากความพร้อมใช้งานยังคงอยู่ที่ 100% และไม่มีการเชื่อมต่อที่ล้มเหลว แสดงว่าระบบของคุณทำงานได้ดีและไม่มีปัญหา คุณควรจับตาดูเวลาตอบสนองด้วย

เรียกใช้ Siege กับหลายเว็บไซต์

คุณสามารถทดสอบ URL หลายรายการได้โดยตั้งค่า ล้อม ให้อ่านจากไฟล์ คุณสามารถอธิบาย URL ใน /usr/local/etc/urls.txt ได้ดังนี้:

ตอนนี้หากต้องการบอก siege ให้ทดสอบ URL จากไฟล์ ให้ใช้ตัวเลือก -f ดังนี้:

siege -f /usr/local/etc/urls.txt

คุณยังสามารถใช้ตัวเลือกบรรทัดคำสั่งได้ หากคุณต้องการลองการตั้งค่าที่แตกต่างจากที่อธิบายไว้ในไฟล์การกำหนดค่า

  • -C – ระบุไฟล์การกำหนดค่าของคุณเอง
  • -q – ระงับเอาต์พุตของการปิดล้อม
  • -g – GET ดึงส่วนหัว HTTP ลงแล้วแสดงธุรกรรม มีประโยชน์สำหรับการดีบัก
  • -c – จำนวนผู้ใช้พร้อมกัน ค่าเริ่มต้นคือ 10
  • -r – กี่ครั้งที่จะทำการทดสอบ
  • -t – ระยะเวลาในการทำการทดสอบ คุณสามารถระบุ S, M หรือ H เช่น –time=10S เป็นเวลา 10 วินาที
  • -d – ความล่าช้าแบบสุ่มก่อนแต่ละคำขอ
  • -b – ไม่มีความล่าช้าระหว่างคำขอ
  • -i – การจำลองผู้ใช้ ใช้เพื่อเข้าถึง URL แบบสุ่ม
  • -f – ทดสอบ URL จากไฟล์ที่ระบุ
  • -l – ไฟล์บันทึก
  • -H – เพิ่มส่วนหัวที่จะร้องขอ
  • -A – ระบุตัวแทนผู้ใช้
  • -T – ตั้งค่าประเภทเนื้อหาตามคำขอ
  • --no-parser – NO PARSER ปิด parser หน้า HTML
  • --no-follow – อย่าติดตามการเปลี่ยนเส้นทาง HTTP
บทสรุป

Siege เป็นเครื่องมืออันทรงพลังในการวัดความน่าเชื่อถือของระบบเมื่อมีภาระงานสูง นักพัฒนาเว็บสามารถใช้เพื่อทดสอบโค้ดของตนเมื่อไซต์ถูกข่มขู่ คุณควรรันการทดสอบด้วยความระมัดระวังเสมอ เนื่องจากเซิร์ฟเวอร์ที่ทดสอบอาจไม่สามารถเข้าถึงได้ในระหว่างการประเมิน