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

สคริปต์ที่บันทึกไว้สามารถจำลองผู้ใช้เสมือนได้ อย่างไรก็ตาม การบันทึกเพียงอย่างเดียวอาจไม่เพียงพอที่จะจำลองพฤติกรรมของผู้ใช้จริงได้
เมื่อบันทึกสคริปต์แล้ว มันจะครอบคลุมขั้นตอนเดียวที่ตรงไปตรงมาในแอปพลิเคชันนั้นๆ แต่ผู้ใช้จริงอาจทำซ้ำกระบวนการหลายครั้งก่อนที่จะออกจากระบบ เวลาที่ใช้ในการคิด (ระยะเวลาคิด) ระหว่างการคลิกปุ่มต่างๆ ก็แตกต่างกันไปในแต่ละบุคคล และผู้ใช้บางคนอาจเข้าถึงแอปพลิเคชันของคุณด้วยการเชื่อมต่อที่รวดเร็ว ในขณะที่บางคนอาจไม่ ดังนั้น เพื่อให้ได้ความรู้สึกที่แท้จริงจากผู้ใช้ปลายทาง เราจำเป็นต้องปรับปรุงสคริปต์ของเราให้ทำงานได้ใกล้เคียงกับผู้ใช้จริงมากที่สุด
นั่นเป็นข้อพิจารณาที่สำคัญที่สุดเมื่อดำเนินการ “การทดสอบประสิทธิภาพแต่สคริปต์ VUser นั้นซับซ้อนกว่านั้น คุณจะวัดเวลาที่ VUser ใช้ไปในขณะที่ระบบกำลังถูกทดสอบภายใต้ภาระงาน (SUL) ได้อย่างไร คุณจะรู้ได้อย่างไรว่า VUser ผ่านหรือล้มเหลวในจุดใดจุดหนึ่ง และกระบวนการแบ็กเอนด์ล้มเหลวหรือทรัพยากรเซิร์ฟเวอร์หมดลงหรือไม่
เราจำเป็นต้องปรับปรุงบทของเราเพื่อช่วยตอบคำถามทั้งหมดข้างต้น
หมายเหตุเกี่ยวกับแบรนด์: VuGen เคยจำหน่ายในชื่อ HP จากนั้นเป็น Micro Focus และปัจจุบันเป็นส่วนหนึ่งของ OpenText วิศวกรรมประสิทธิภาพระดับมืออาชีพฟังก์ชันและการตั้งค่าด้านล่างนี้ยังคงไม่เปลี่ยนแปลง
การใช้ธุรกรรม
ธุรกรรมคือการวัดเวลาตอบสนองของเซิร์ฟเวอร์สำหรับการดำเนินการใดๆ กล่าวอย่างง่ายๆ คือ "ธุรกรรม" วัดเวลาที่ระบบใช้สำหรับคำขอเฉพาะเจาะจง ซึ่งอาจเป็นเรื่องเล็กๆ เช่น การคลิกปุ่ม หรือการเรียกใช้ AJAX เมื่อช่องข้อความสูญเสียโฟกัส
การใช้งานธุรกรรมนั้นง่ายมาก เพียงเขียนโค้ดบรรทัดเดียว ก่อนที่จะมีการร้องขอ และปิดธุรกรรมเมื่อการร้องขอสิ้นสุดลง LoadRunner ต้องการเพียงสตริงเป็นชื่อธุรกรรมเท่านั้น
หากต้องการเปิดธุรกรรม ให้ใช้รหัสบรรทัดนี้:
lr_start_transaction(“Transaction Name”);
หากต้องการปิดธุรกรรม ให้ใช้รหัสบรรทัดนี้:
lr_end_transaction(“Transaction Name”, <status>);
ที่ แจ้ง LoadRunner ว่าธุรกรรมนี้สำเร็จหรือไม่สำเร็จ พารามิเตอร์ที่เป็นไปได้อาจเป็น:
- LR_อัตโนมัติ
- LR_ผ่าน
- LR_FAIL
ตัวอย่าง:
lr_end_transaction(“My_Login”, LR_AUTO); lr_end_transaction(“001_Opening_Dashboard Name”, LR_PASS); lr_end_transaction(“Business_Workflow_Transaction Name”, LR_FAIL);
Code บันทึกย่อ: โค้ดตัวอย่างถูกคัดลอกมาอย่างถูกต้องตามที่ตีพิมพ์ รวมถึงเครื่องหมายอัญประกาศด้วย สคริปต์ VuGen ที่ถูกต้องต้องใช้เครื่องหมายอัญประกาศคู่แบบ ASCII ดังนั้นหากคุณคัดลอกโค้ดนี้ โปรดพิมพ์เครื่องหมายอัญประกาศใหม่
จุดที่ควรทราบ:
- อย่าลืมว่าคุณกำลังทำงานกับ "C" และนั่นคือภาษาที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
- ไม่อนุญาตให้ใช้เครื่องหมายจุด (.) ในชื่อธุรกรรม แต่สามารถใช้ช่องว่างและเครื่องหมายขีดล่างได้
- หากคุณได้แยกการทำงานของโค้ดอย่างดีและเพิ่มจุดตรวจสอบเพื่อยืนยันการตอบสนองจากเซิร์ฟเวอร์ คุณสามารถใช้การจัดการข้อผิดพลาดแบบกำหนดเอง เช่น LR_PASS หรือ LR_FAIL ได้ มิเช่นนั้น คุณสามารถใช้ LR_AUTO และ LoadRunner จะจัดการข้อผิดพลาดของเซิร์ฟเวอร์โดยอัตโนมัติ (HTTP 500, 400 เป็นต้น)
- เมื่อทำการบันทึกรายการธุรกรรม โปรดตรวจสอบให้แน่ใจว่าไม่มีคำสั่งแสดงระยะเวลาคิด (think-time statement) แทรกอยู่ภายใน มิเช่นนั้น รายการธุรกรรมของคุณจะรวมช่วงเวลานั้นไว้ด้วยเสมอ
- เนื่องจาก LoadRunner ต้องการสตริงคงที่สำหรับชื่อธุรกรรม ปัญหาที่พบบ่อยเมื่อใช้งานธุรกรรมคือสตริงไม่ตรงกัน หากคุณตั้งชื่อที่แตกต่างกันเมื่อเปิดและปิดธุรกรรม คุณจะได้รับข้อผิดพลาดอย่างน้อย 2 ข้อ ธุรกรรมที่คุณเปิดนั้นไม่เคยถูกปิด ดังนั้น LoadRunner จึงแสดงข้อผิดพลาด และธุรกรรมที่คุณพยายามปิดนั้นไม่เคยถูกเปิด ซึ่งทำให้เกิดข้อผิดพลาดข้อที่สอง
- ข้อผิดพลาดทั้งสองจะปรากฏในบันทึกการเล่นซ้ำ ดังนั้นเมื่อใดก็ตามที่มีการรายงานข้อผิดพลาดใดข้อผิดพลาดหนึ่ง โปรดตรวจสอบชื่อธุรกรรมในงบเปิดและงบปิดก่อน
- เนื่องจาก LoadRunner จะจัดการการซิงโครไนซ์คำขอและการตอบกลับโดยอัตโนมัติ คุณจึงไม่ต้องกังวลเกี่ยวกับการตอบกลับเมื่อใช้ธุรกรรม
จุดนัดพบ ความคิดเห็น และฟังก์ชันสคริปต์
การปรับปรุงเล็กๆ น้อยๆ สามอย่างทำให้สคริปต์ทำงานและอ่านได้เหมือนโค้ดที่ใช้ในการผลิตจริง ได้แก่ จุดนัดพบ ความคิดเห็น และเบราว์เซอร์ฟังก์ชันที่สร้างขึ้นใน VuGen
จุดนัดพบ
จุดนัดพบ (rendezvous point) คือ “จุดเชื่อมต่อ” เป็นคำสั่งเดียวที่บอกให้ LoadRunner เริ่มทำงานแบบขนาน (concurrency) คุณสามารถแทรกจุดนัดพบเหล่านี้ลงในสคริปต์ VUser เพื่อจำลองภาระงานของผู้ใช้จำนวนมากบนเซิร์ฟเวอร์
จุดนัดพบจะสั่งให้ VUser รอจนกว่าจะมี VUser หลายคนมารวมตัวกันที่จุดนั้น เพื่อให้พวกเขาสามารถทำงานพร้อมกันได้ ตัวอย่างเช่น เพื่อจำลองสถานการณ์ที่มีภาระงานสูงสุดบนเซิร์ฟเวอร์ของธนาคาร ให้เพิ่มจุดนัดพบเพื่อสั่งให้ VUser 100 คนฝากเงินสดพร้อมกัน
หากจุดนัดพบไม่ได้ถูกกำหนดไว้อย่างถูกต้อง ผู้ใช้เสมือน (VUsers) จะเข้าถึงส่วนต่างๆ ของแอปพลิเคชัน แม้ว่าจะใช้สคริปต์เดียวกันก็ตาม เนื่องจากผู้ใช้เสมือนแต่ละคนจะได้รับเวลาตอบสนองที่แตกต่างกัน ทำให้ผู้ใช้บางรายตามหลังอยู่
ไวยากรณ์:
lr_rendezvous(“Logical Name”);
หมายเหตุแก้ไข: หน้าเว็บที่เผยแพร่สะกดแบบนี้ lr_rendesvousชื่อฟังก์ชันที่ถูกต้องคือ lr_rendezvous; รูปแบบที่สะกดผิดจะไม่สามารถคอมไพล์ได้
ปฏิบัติที่ดีที่สุด:
- นำหน้าจุดนัดพบด้วย “rdv_” เพื่อให้อ่านโค้ดได้ดีขึ้น เช่น “rdv_Login”
- ลบข้อความแสดงเวลาคิดที่อยู่ติดกันออกทั้งหมด
- กำหนดจุดนัดพบในมุมมองสคริปต์ หลังจากบันทึกเสร็จแล้ว
ภาพตัวอย่างสคริปต์ด้านล่างแสดงข้อความเกี่ยวกับการนัดพบที่แทรกอยู่ในแอ็กชันที่บันทึกไว้:
ความคิดเห็น
เพิ่มคำอธิบายเพื่ออธิบายกิจกรรม ส่วนของโค้ด หรือบรรทัดของโค้ด คำอธิบายจะช่วยให้โค้ดเข้าใจง่ายขึ้นสำหรับผู้ที่อ้างอิงถึงโค้ดนั้นในอนาคต นอกจากนี้ยังให้ข้อมูลเกี่ยวกับการดำเนินการเฉพาะ และแบ่งโค้ดออกเป็นสองส่วนเพื่อให้เห็นความแตกต่างได้ชัดเจน
คุณสามารถเพิ่มความคิดเห็น
- ขณะบันทึก (โดยใช้เครื่องมือ)
- หลังจากบันทึก (เขียนโค้ดโดยตรง)
แนวทางปฏิบัติที่ดีที่สุด: ควรใส่คำอธิบายประกอบไว้ที่ด้านบนของไฟล์สคริปต์แต่ละไฟล์
การแทรกฟังก์ชันผ่านเมนู
แม้ว่าคุณจะสามารถเขียนโค้ดง่ายๆ ได้โดยตรง แต่คุณอาจต้องการคำใบ้เพื่อเรียกใช้ฟังก์ชัน คุณยังสามารถใช้ Steps Toolbox (หรือที่รู้จักในชื่อ Insert Function ก่อนเวอร์ชัน 12) เพื่อค้นหาและแทรกฟังก์ชันใดๆ ลงในสคริปต์ของคุณได้โดยตรง
คุณสามารถค้นหา Steps Toolbox ได้ที่เมนู View → Steps Toolbox ดังแสดงในภาพด้านล่าง
หน้าต่างด้านข้างจะเปิดขึ้นมา ดูภาพประกอบ:
การกำหนดพารามิเตอร์คืออะไร?
พารามิเตอร์ใน VuGen คือคอนเทนเนอร์ที่เก็บค่าที่บันทึกไว้ ซึ่งจะถูกแทนที่สำหรับผู้ใช้แต่ละคน
ระหว่างการดำเนินการสคริปต์ (ใน VuGen หรือ ตัวควบคุมโดยค่าจากแหล่งภายนอก (เช่น ไฟล์ .txt, XML หรือฐานข้อมูล) จะใช้แทนค่าก่อนหน้าของพารามิเตอร์นั้น
การกำหนดพารามิเตอร์มีประโยชน์สำหรับการส่งค่าแบบไดนามิก (หรือค่าที่ไม่ซ้ำกัน) ไปยังเซิร์ฟเวอร์ ตัวอย่างเช่น กระบวนการทางธุรกิจอาจต้องทำงานซ้ำ 10 ครั้ง โดยเลือกชื่อผู้ใช้ที่ไม่ซ้ำกันในแต่ละครั้ง
นอกจากนี้ยังช่วยในการจำลองพฤติกรรมในชีวิตจริงกับระบบเป้าหมาย ลองดูตัวอย่างด้านล่างนี้
ตัวอย่างปัญหา:
- กระบวนการทางธุรกิจจะทำงานได้เฉพาะกับวันที่ปัจจุบันซึ่งได้มาจากเซิร์ฟเวอร์ ดังนั้นจึงไม่สามารถส่งผ่านเป็นคำขอแบบตายตัวได้
- บางครั้งแอปพลิเคชันไคลเอ็นต์จะส่ง ID เฉพาะไปยังเซิร์ฟเวอร์ (เช่น session_id) เพื่อให้กระบวนการดำเนินต่อไปได้ แม้กระทั่งสำหรับผู้ใช้เพียงคนเดียว ในกรณีเช่นนี้ การกำหนดพารามิเตอร์จะช่วยได้
- โดยทั่วไป แอปพลิเคชันฝั่งไคลเอ็นต์จะเก็บแคชของข้อมูลที่ส่งไปและกลับจากเซิร์ฟเวอร์ ส่งผลให้เซิร์ฟเวอร์ไม่ได้รับพฤติกรรมการใช้งานจริงของผู้ใช้ (ซึ่งเซิร์ฟเวอร์จะใช้อัลกอริธึมที่แตกต่างกันไปตามเกณฑ์การค้นหา) สคริปต์ VUser จะทำงานได้อย่างสำเร็จ แต่สถิติประสิทธิภาพที่ได้จะไม่สื่อความหมาย การใช้ข้อมูลที่แตกต่างกันผ่านการกำหนดพารามิเตอร์จะช่วยจำลองกิจกรรมฝั่งเซิร์ฟเวอร์ เช่น สตored procedure และช่วยทดสอบระบบ
- วันที่ที่ถูกกำหนดตายตัวใน VUser ระหว่างการบันทึกอาจไม่ถูกต้องอีกต่อไปเมื่อถึงวันที่นั้นแล้ว การกำหนดค่าพารามิเตอร์ให้กับวันที่ช่วยให้การทำงานของ VUser สำเร็จได้โดยการแทนที่วันที่ที่ถูกกำหนดตายตัว ฟิลด์หรือคำขอประเภทนี้จึงเหมาะสมอย่างยิ่งสำหรับการกำหนดค่าพารามิเตอร์
คุณสร้างพารามิเตอร์โดยการคลิกขวาที่ค่าที่บันทึกไว้ในมุมมองสคริปต์ แล้วเลือก "แทนที่ด้วยพารามิเตอร์" จากนั้น VuGen จะถามว่าประเภทใดที่ให้ค่ามา:
| ประเภทพารามิเตอร์ | คุณค่าที่มอบให้ |
|---|---|
| เนื้อไม่มีมัน | ค่าที่อ่านจากคอลัมน์ในไฟล์ .dat |
| ตาราง | กลุ่มของแถวและคอลัมน์ในเวลาเดียวกัน |
| วันที่ / เวลา | วันที่และเวลาปัจจุบันในรูปแบบที่เลือก |
| สุ่มเลข | ตัวเลขจากช่วงที่คุณกำหนด |
| หมายเลขเฉพาะ | หมายเลขเฉพาะสำหรับผู้ใช้เสมือนแต่ละราย โดยกำหนดจากค่าเริ่มต้นและขนาดบล็อก |
| หมายเลขการวนซ้ำ | จำนวนรอบปัจจุบัน |
| รหัสผู้ใช้เสมือน | รหัสประจำตัวที่กำหนดเมื่อเล่นซ้ำ |
| กลุ่ม / โหลด Generator ชื่อ | กลุ่ม VUser หรือเครื่องกำเนิดสัญญาณ |
| XML | ส่วนหนึ่งจากชุดข้อมูล XML |
| ฟังก์ชันที่ผู้ใช้กำหนดเอง | ค่าที่ส่งคืนโดยฟังก์ชันไลบรารีของคุณเอง |
มีตัวเลือกเพิ่มเติมอีกสองอย่างที่จะกำหนดวิธีการใช้ข้อมูลในแต่ละรอบการทำงาน:
| ตัวเลือกเสริม (Option) | ทางเลือก | สิ่งที่มันควบคุม |
|---|---|---|
| เลือกแถวถัดไป | เรียงลำดับ, สุ่ม, เฉพาะตัว | บรรทัดถัดไปที่ VUser อ่าน |
| อัปเดตค่าบน | ในแต่ละรอบ ในแต่ละเหตุการณ์ ครั้งเดียว | เมื่อค่าได้รับการอัปเดตแล้ว |
ตัวอย่างด้านล่างนี้แสดงวิธีการกำหนดค่าพารามิเตอร์ให้กับสคริปต์ที่บันทึกไว้:
คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้
การตั้งค่าขณะรันไทม์และผลกระทบต่อการจำลอง VUser
การตั้งค่าขณะรันไทม์มีความสำคัญไม่แพ้สคริปต์ VuGen ของคุณ การตั้งค่าที่แตกต่างกันอาจทำให้ได้การออกแบบการทดสอบที่แตกต่างกันอย่างสิ้นเชิง ซึ่งเป็นเหตุผลว่าทำไมการตั้งค่าขณะรันไทม์ที่ไม่สอดคล้องกันจึงเป็นสาเหตุหลักที่ทำให้ผลลัพธ์ไม่สามารถทำซ้ำได้ เรามาพูดคุยเกี่ยวกับคุณลักษณะแต่ละอย่างทีละข้อกัน
เรียกใช้ลอจิก
Run Logic กำหนดจำนวนครั้งที่การกระทำทั้งหมดจะถูกดำเนินการ ยกเว้น vuser_init และ vuser_end
นี่อาจทำให้เข้าใจได้ชัดเจนขึ้นว่าทำไม LoadRunner จึงแนะนำให้ keeping โค้ดส่วนการล็อกอินทั้งหมดจะอยู่ใน vuser_init และส่วนการล็อกเอาต์จะอยู่ใน vuser_end โดยแยกออกจากกันทั้งสองส่วน
หากคุณได้สร้างการกระทำหลายอย่าง เช่น เข้าสู่ระบบ เปิดหน้าจอ คำนวณค่าเช่า ชำระเงิน ตรวจสอบยอดคงเหลือ และออกจากระบบ สถานการณ์ด้านล่างนี้จะเกิดขึ้นกับผู้ใช้เสมือนแต่ละราย:
ผู้ใช้เสมือนทั้งหมดจะเข้าสู่ระบบ ดำเนินการเปิดหน้าจอ คำนวณค่าเช่า ส่งเงิน และตรวจสอบยอดคงเหลือ จากนั้นเปิดหน้าจอ คำนวณค่าเช่าอีกครั้ง และทำซ้ำเช่นนี้ 10 ครั้ง จากนั้นจึงออกจากระบบ (หนึ่งครั้ง)
นี่คือการตั้งค่าที่มีประสิทธิภาพซึ่งช่วยให้สคริปต์ทำงานได้เหมือนผู้ใช้จริงมากขึ้น โปรดจำไว้ว่าผู้ใช้จริงไม่ได้ล็อกอินและล็อกเอาต์ทุกครั้ง พวกเขามักจะทำขั้นตอนเดิมๆ ซ้ำๆ
คุณคลิก "กล่องจดหมายเข้า" กี่ครั้งก่อนที่จะออกจากระบบเมื่อตรวจสอบอีเมล?
เดินไปเดินมา
นี่เป็นเรื่องสำคัญ คนส่วนใหญ่ไม่เข้าใจความแตกต่างระหว่างจังหวะการทำงานและเวลาคิด ความแตกต่างเพียงอย่างเดียวคือ จังหวะการทำงานหมายถึงช่วงเวลาหน่วงระหว่างการทำซ้ำแต่ละครั้ง ในขณะที่เวลาคิดคือช่วงเวลาหน่วงระหว่างขั้นตอนใดๆ สองขั้นตอน
การตั้งค่าที่แนะนำจะขึ้นอยู่กับการออกแบบการทดสอบ อย่างไรก็ตาม หากคุณต้องการใช้ภาระงานสูง ควรพิจารณาเลือก “ทันทีที่การวนซ้ำครั้งก่อนสิ้นสุดลง” ดังแสดงด้านล่าง
เข้าสู่ระบบ
โดยทั่วไปแล้ว บันทึก (Log) คือบันทึกเหตุการณ์ทั้งหมดที่เกิดขึ้นขณะที่คุณใช้งาน LoadRunner คุณสามารถเปิดใช้งานบันทึกเพื่อทราบว่าเกิดอะไรขึ้นระหว่างแอปพลิเคชันของคุณกับเซิร์ฟเวอร์
LoadRunner มีกลไกการบันทึกข้อมูลที่มีประสิทธิภาพ แข็งแกร่ง และปรับขนาดได้ในตัว โดยอนุญาตให้คุณเก็บเฉพาะ "บันทึกมาตรฐาน" หรือบันทึกแบบละเอียดที่ปรับแต่งได้ หรือปิดการบันทึกทั้งหมดก็ได้
ไฟล์บันทึกมาตรฐานนั้นให้ข้อมูลครบถ้วนและเข้าใจง่าย ประกอบด้วยข้อมูลในปริมาณที่เหมาะสมสำหรับการแก้ไขปัญหาในสคริปต์ VUser ของคุณ
ในกรณีของ Extended Log ข้อมูลบันทึกมาตรฐานทั้งหมดจะเป็นเพียงส่วนย่อย นอกจากนี้ คุณยังสามารถใช้การแทนที่พารามิเตอร์ได้ ซึ่งจะบอกให้คอมโพเนนต์ LoadRunner รวมข้อมูลที่ครบถ้วนเกี่ยวกับพารามิเตอร์ทั้งหมด (จากการกำหนดค่าพารามิเตอร์) รวมถึงข้อมูลคำขอและข้อมูลการตอบกลับด้วย
หากคุณเพิ่ม "ข้อมูลที่ส่งกลับจากเซิร์ฟเวอร์" เข้าไปในไฟล์บันทึก ไฟล์บันทึกของคุณจะมีขนาดใหญ่ขึ้นมาก โดยจะรวมข้อมูล HTML แท็ก ทรัพยากร และข้อมูลที่ไม่ใช่ทรัพยากรทั้งหมดไว้ในไฟล์บันทึกเดียวกัน ตัวเลือกนี้เหมาะสำหรับกรณีที่คุณต้องการแก้ไขปัญหาอย่างจริงจังเท่านั้น โดยปกติแล้ว การเลือกวิธีนี้จะทำให้ไฟล์บันทึกมีขนาดใหญ่มากและเข้าใจได้ยาก
อย่างที่คุณอาจเดาได้แล้ว หากคุณเลือก “ขั้นสูง” Trac“ไฟล์บันทึกของคุณจะมีขนาดใหญ่มาก คุณต้องลองดู คุณจะสังเกตเห็นว่าเวลาที่ VuGen ใช้ก็เพิ่มขึ้นอย่างมากเช่นกัน แม้ว่าสิ่งนี้จะไม่มีผลกระทบต่อเวลาตอบสนองการทำธุรกรรมที่ VuGen รายงานก็ตาม นี่เป็นข้อมูลขั้นสูงมาก และจะมีประโยชน์ก็ต่อเมื่อคุณเข้าใจแอปพลิเคชันที่เกี่ยวข้อง การสื่อสารระหว่างไคลเอนต์กับเซิร์ฟเวอร์ระหว่างแอปพลิเคชันและฮาร์ดแวร์ของคุณ และรายละเอียดระดับโปรโตคอล โดยปกติแล้ว ข้อมูลนี้ต้องใช้ความพยายามอย่างมากในการอ่านและแก้ไขปัญหา”
ทิปส์:
- ไม่ว่า VuGen จะใช้เวลานานแค่ไหนเมื่อเปิดใช้งานการบันทึกข้อมูล ก็ไม่มีผลกระทบต่อเวลาตอบสนองของธุรกรรม เนื่องจากค่าใช้จ่ายในการบันทึกข้อมูลนั้นไม่รวมอยู่ในเวลาที่วัดได้
- ปิดใช้งานการบันทึกข้อมูลหากไม่จำเป็น
- ปิดการบันทึกข้อมูลเมื่อคุณเขียนสคริปต์เสร็จแล้ว การรวมสคริปต์ที่เปิดใช้งานการบันทึกข้อมูลจะทำให้คอนโทรลเลอร์ทำงานช้าลงและแสดงข้อความที่น่ารำคาญ
- การปิดใช้งานบันทึกจะเพิ่มจำนวนผู้ใช้สูงสุดที่คุณสามารถจำลองได้จาก LoadRunner
- ลองใช้ตัวเลือก “ส่งข้อความเฉพาะเมื่อเกิดข้อผิดพลาด” — ตัวเลือกนี้จะปิดเสียงข้อความแจ้งเตือนที่ไม่จำเป็น และแสดงเฉพาะข้อความที่เกี่ยวข้องกับข้อผิดพลาดเท่านั้น
คิดถึงไทม์ส
Think Time เป็นเพียงการหน่วงเวลาระหว่างสองขั้นตอน
Think Time ช่วยจำลองพฤติกรรมของผู้ใช้ เนื่องจากไม่มีผู้ใช้จริงคนใดสามารถใช้งานแอปพลิเคชันได้เหมือนเครื่องจักร VuGen สร้าง Think Time โดยอัตโนมัติ คุณยังคงควบคุมได้อย่างสมบูรณ์ในการลบ เพิ่ม หรือเปลี่ยนแปลงระยะเวลาของ Think Time
เพื่อให้เข้าใจได้ดีขึ้น: ผู้ใช้อาจเปิดหน้าจอ (การตอบสนองตามด้วยคำขอ) จากนั้นพิมพ์ชื่อผู้ใช้และรหัสผ่านก่อนกด Enter การโต้ตอบครั้งต่อไประหว่างแอปพลิเคชันและเซิร์ฟเวอร์จะเกิดขึ้นเมื่อผู้ใช้คลิก "ลงชื่อเข้าใช้" เวลาที่ผู้ใช้ใช้ในการพิมพ์ชื่อผู้ใช้และรหัสผ่านคือเวลาคิด (Think Time) ใน LoadRunner
หากคุณต้องการจำลองโหลดเชิงรุกบนแอปพลิเคชัน ให้พิจารณาปิดการใช้งานเวลาคิดโดยสิ้นเชิง
อย่างไรก็ตาม เพื่อจำลองพฤติกรรมในชีวิตจริง คุณสามารถเลือก “ใช้เวลาคิดแบบสุ่ม” และตั้งค่าเปอร์เซ็นต์ตามต้องการได้
ลองใช้ฟังก์ชัน Limit Think Time เพื่อจำกัดเวลาคิดให้อยู่ในระยะเวลาที่เหมาะสม โดยปกติ 30 วินาทีก็ถือว่าเพียงพอแล้ว
การจำลองความเร็ว
การจำลองความเร็วหมายถึงความจุแบนด์วิดท์ของเครื่องไคลเอนต์แต่ละเครื่อง
เนื่องจากเราจำลองผู้ใช้งานเสมือน (VUser) หลายพันคนผ่าน LoadRunner จึงเป็นเรื่องน่าทึ่งที่ LoadRunner ทำให้การจำลองแบนด์วิดท์และความเร็วเครือข่ายง่ายดายเพียงใด
หากลูกค้าของคุณเข้าถึงแอปพลิเคชันของคุณด้วยความเร็วเกิน 128 Kbps คุณสามารถควบคุมความเร็วได้จากที่นี่ คุณจะสามารถจำลองพฤติกรรมการใช้งานจริง ซึ่งจะช่วยให้คุณได้รับสถิติประสิทธิภาพที่ถูกต้อง
คำแนะนำที่ดีที่สุดคือการตั้งค่าให้ใช้แบนด์วิดท์สูงสุด วิธีนี้จะช่วยให้คุณไม่สนใจปัญหาคอขวดด้านประสิทธิภาพที่เกี่ยวข้องกับเครือข่าย และมุ่งเน้นไปที่ปัญหาที่อาจเกิดขึ้นในแอปพลิเคชันก่อน คุณสามารถเรียกใช้การทดสอบหลายครั้งเพื่อดูพฤติกรรมที่แตกต่างกันภายใต้สถานการณ์ต่างๆ ได้เสมอ
การจำลองเบราว์เซอร์
ประสบการณ์การใช้งานของผู้ใช้ไม่ได้ขึ้นอยู่กับเบราว์เซอร์ที่ผู้ใช้ปลายทางใช้ ดังนั้นจึงอยู่นอกเหนือขอบเขตของการวัดประสิทธิภาพเป็นส่วนใหญ่ อย่างไรก็ตาม คุณสามารถเลือกเบราว์เซอร์ที่คุณต้องการจำลองได้ ดังที่แสดงในแผงด้านล่าง
ในการตั้งค่านี้ การเลือกใช้เบราว์เซอร์ใดจึงมีความสำคัญจริงๆ?
คุณจะใช้การตั้งค่านี้หากแอปพลิเคชันที่คุณศึกษาเป็นแอปพลิเคชันบนเว็บที่แสดงผลแตกต่างกันในแต่ละเบราว์เซอร์ ตัวอย่างเช่น คุณอาจเห็นภาพและเนื้อหาที่แตกต่างกันใน Internet Explorer และเบราว์เซอร์อื่นๆ Firefox.
อีกหนึ่งการตั้งค่าที่สำคัญคือ จำลองแคชของเบราว์เซอร์ หากคุณต้องการวัดเวลาตอบสนองเมื่อเปิดใช้งานแคช ให้ติ๊กช่องนี้ แต่หากคุณต้องการทดสอบสถานการณ์ที่เลวร้ายที่สุด การตั้งค่านี้ก็ไม่ใช่สิ่งที่คุณต้องพิจารณา
การดาวน์โหลดทรัพยากรที่ไม่ใช่ HTML จะทำให้ LoadRunner ดาวน์โหลดไฟล์ CSS, JS และไฟล์มีเดียอื่นๆ ได้ ควรคงตัวเลือกนี้ไว้ อย่างไรก็ตาม หากคุณต้องการตัดตัวเลือกนี้ออกจากการออกแบบการทดสอบประสิทธิภาพ คุณสามารถยกเลิกการเลือกได้
หนังสือมอบฉันทะ
ทางที่ดีที่สุดคือควรลบพร็อกซีออกจากระบบของคุณโดยสมบูรณ์ สภาพแวดล้อมการทดสอบ — การมีพร็อกซีอยู่ในเส้นทางจะทำให้ผลการทดสอบไม่น่าเชื่อถือ อย่างไรก็ตาม คุณอาจพบสถานการณ์ที่หลีกเลี่ยงไม่ได้ ในกรณีเช่นนั้น LoadRunner จะมีฟังก์ชันการตั้งค่าพร็อกซีให้ใช้งาน
คุณจะต้องใช้งาน (หรือควรใช้งาน) โดยตั้งค่าเป็น "ไม่ใช้พร็อกซี" คุณสามารถตั้งค่านี้ได้จากเบราว์เซอร์เริ่มต้นของคุณ อย่างไรก็ตาม อย่าลืมตรวจสอบว่าเบราว์เซอร์ใดถูกตั้งค่าเป็นเบราว์เซอร์เริ่มต้น และการตั้งค่าพร็อกซีสำหรับเบราว์เซอร์นั้นเป็นอย่างไร
หากคุณใช้พร็อกซีและพร็อกซีนั้นต้องการการตรวจสอบสิทธิ์ (หรือสคริปต์) คุณสามารถคลิกที่ปุ่ม "ตรวจสอบสิทธิ์" ซึ่งจะนำคุณไปยังหน้าต่างใหม่ โปรดดูภาพหน้าจอประกอบด้านล่าง
ใช้หน้าจอนี้เพื่อป้อนชื่อผู้ใช้และรหัสผ่านเพื่อเข้าสู่ระบบบนพร็อกซีเซิร์ฟเวอร์ คลิก ตกลง เพื่อปิดหน้าจอ
ขอแสดงความยินดี คุณตั้งค่าสคริปต์ VuGen เสร็จเรียบร้อยแล้ว อย่าลืมตั้งค่าสคริปต์ VUser ทั้งหมดของคุณด้วย
ต่อไปคือ ความสัมพันธ์โดยดำเนินการตามสถานการณ์ใน ตัวควบคุมและผลจากการอ่าน การวิเคราะห์ LoadRunner. ดู สถาปัตยกรรม LoadRunner และ โหลดการทดสอบ คำแนะนำ











