คำถามติดแท็ก performance-testing

4
คำสั่ง SQL Server เพื่อล้างแคชก่อนเรียกใช้การเปรียบเทียบประสิทธิภาพ
เมื่อเปรียบเทียบเวลาดำเนินการของแบบสอบถามที่แตกต่างกันสองรายการสิ่งสำคัญคือการล้างแคชเพื่อให้แน่ใจว่าการดำเนินการของแบบสอบถามแรกไม่ได้เปลี่ยนประสิทธิภาพของแบบสอบถามที่สอง ในการค้นหาโดย Google ฉันสามารถค้นหาคำสั่งเหล่านี้ได้: DBCC FREESYSTEMCACHE DBCC FREESESSIONCACHE DBCC FREEPROCCACHE อันที่จริงแล้วข้อความค้นหาของฉันใช้เวลาในการดำเนินการหลายครั้งกว่าจริงกว่าเดิม อย่างไรก็ตามฉันไม่แน่ใจว่านี่เป็นเทคนิคที่แนะนำ วิธีปฏิบัติที่ดีที่สุดคืออะไร

5
Autovacuum เชิงรุกบน PostgreSQL
ฉันกำลังพยายามให้ PostgreSQL ทำการดูดฐานข้อมูลของฉันโดยอัตโนมัติ ฉันได้กำหนดค่าสูญญากาศอัตโนมัติดังนี้: autovacuum_vacuum_cost_delay = 0 # ปิดสูญญากาศที่ใช้ต้นทุน autovacuum_vacuum_cost_limit = 10,000 # ค่าสูงสุด autovacuum_vacuum_threshold = 50 # ค่าเริ่มต้น autovacuum_vacuum_scale_factor = 0.2 # ค่าเริ่มต้น ฉันสังเกตว่าสูญญากาศอัตโนมัติจะเริ่มขึ้นเฉพาะเมื่อฐานข้อมูลไม่ได้โหลดดังนั้นฉันจึงเข้าสู่สถานการณ์ที่มีสิ่งอันดับที่ตายแล้วมากกว่าสิ่งอันดับสด ดูตัวอย่างภาพหน้าจอที่แนบมา หนึ่งในตารางมี 23 tuples สด แต่ 16845 tuples ตายรอสูญญากาศ นั่นมันบ้า! Auto vacuum kicks เมื่อการทดสอบเสร็จสิ้นและเซิร์ฟเวอร์ฐานข้อมูลไม่ได้ใช้งานซึ่งไม่ใช่สิ่งที่ฉันต้องการเพราะฉันต้องการให้สูญญากาศอัตโนมัติเตะเมื่อใดก็ตามที่จำนวนของ tuples ที่ตายเกินกว่า 20% tuples สด + 50 เนื่องจากฐานข้อมูล การกำหนดค่า สูญญากาศอัตโนมัติเมื่อเซิร์ฟเวอร์ไม่ได้ใช้งานไม่มีประโยชน์สำหรับฉันเนื่องจากเซิร์ฟเวอร์ที่ใช้งานจริงคาดว่าจะมีการอัปเดต 1000 …

2
ฉันจะทำการอบ MySQL อย่างถูกต้องได้อย่างไร?
ฉันต้องการทดสอบประสิทธิภาพ (เรียกว่าอบ) เซิร์ฟเวอร์ MySQL รอบต่อนาทีกับส้อมอื่น ๆ เช่นเซิร์ฟเวอร์ Percona, MariaDB และอาจเป็นไปได้ ฉันหวังว่าด้วยการถามคำถามนี้ฉันสามารถเข้าใจวิธีการที่อยู่เบื้องหลังการตั้งค่าการทดสอบประสิทธิภาพที่เหมาะสม ฉันวางแผนที่จะใช้ sysbench เพื่อทำการทดสอบจริง แต่ฉันเปิดทุกอย่าง ขั้นตอนใดที่ฉันควรทำเพื่อให้แน่ใจว่าผลการทดสอบในการเปรียบเทียบแอปเปิ้ลกับแอปเปิ้ลและ RDBMS นั้นเป็นเพียงตัวแปรเท่านั้น ฉันจะเริ่มต้นที่ไหน ฉันจะประเมินผลลัพธ์ได้อย่างไร คุณให้คำแนะนำอะไรแก่ฉัน

8
เครื่องมือในการสร้างชุดข้อมูลขนาดใหญ่ของข้อมูลการทดสอบ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Exchange Administrators Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ หลายครั้งเมื่อพยายามออกแบบฐานข้อมูลที่มีประสิทธิภาพแนวทางการปฏิบัติที่ดีที่สุดคือการสร้างฐานข้อมูลตัวอย่างสองแห่งเติมข้อมูลและเรียกใช้แบบสอบถามกับฐานข้อมูลเพื่อดูว่าฐานข้อมูลใดมีประสิทธิภาพดีกว่า มีเครื่องมือที่จะสร้าง (ตรงไปยังฐานข้อมูล) ชุดข้อมูลทดสอบขนาดใหญ่ (~ 10,000 รายการ) อย่างรวดเร็วหรือไม่? ฉันกำลังมองหาบางอย่างที่ใช้งานได้กับ MySQL อย่างน้อย

3
คีย์ธรรมชาติให้ประสิทธิภาพที่สูงขึ้นหรือต่ำลงใน SQL Server มากกว่าปุ่มจำนวนเต็มตัวแทน?
ฉันเป็นแฟนของกุญแจตัวแทน มีความเสี่ยงที่การค้นพบของฉันจะยืนยันลำเอียง คำถามมากมายที่ฉันเห็นทั้งที่นี่และที่http://stackoverflow.comใช้คีย์ธรรมชาติแทนคีย์ตัวแทนโดยยึดตามIDENTITY()ค่า พื้นหลังของฉันในระบบคอมพิวเตอร์บอกให้ฉันดำเนินการเปรียบเทียบใด ๆ กับจำนวนเต็มจะเร็วกว่าการเปรียบเทียบสตริง ความคิดเห็นนี้ทำให้ฉันถามความเชื่อของฉันดังนั้นฉันคิดว่าฉันจะสร้างระบบเพื่อตรวจสอบวิทยานิพนธ์ของฉันว่าจำนวนเต็มเร็วกว่าสตริงเพื่อใช้เป็นกุญแจใน SQL Server เนื่องจากมีความแตกต่างที่สังเกตได้น้อยมากในชุดข้อมูลขนาดเล็กฉันจึงนึกถึงการตั้งค่าตารางสองตารางทันทีที่ตารางหลักมี 1,000,000 แถวและตารางรองมี 10 แถวสำหรับแต่ละแถวในตารางหลักรวม 10,000,000 แถวใน ตารางที่สอง ข้อสมมติฐานของการทดสอบของฉันคือการสร้างตารางสองชุดเช่นนี้ชุดหนึ่งใช้คีย์ธรรมชาติและอีกชุดหนึ่งใช้คีย์จำนวนเต็มและเรียกใช้การทดสอบกำหนดเวลากับคำถามง่ายๆเช่น: SELECT * FROM Table1 INNER JOIN Table2 ON Table1.Key = Table2.Key; ต่อไปนี้เป็นรหัสที่ฉันสร้างเป็นเตียงทดสอบ: USE Master; IF (SELECT COUNT(database_id) FROM sys.databases d WHERE d.name = 'NaturalKeyTest') = 1 BEGIN ALTER DATABASE NaturalKeyTest SET SINGLE_USER …

5
การปรับแต่งข้อความค้นหาควรเป็นแบบเชิงรุกหรือแบบตอบโต้?
ในฐานะนักพัฒนาซอฟต์แวร์และ DBA ที่ต้องการฉันพยายามผสมผสานแนวปฏิบัติที่ดีที่สุดเมื่อฉันออกแบบฐานข้อมูล SQL Server ของฉัน (99% ของเวลาที่ซอฟต์แวร์ตั้งอยู่บน SQL Server) ฉันทำการออกแบบที่ดีที่สุดก่อนและระหว่างการพัฒนา แต่ก็เหมือนกับนักพัฒนาซอฟต์แวร์อื่น ๆ ที่มีการเพิ่มฟังก์ชันการทำงานข้อบกพร่องและเพียงแค่การเปลี่ยนแปลงข้อกำหนดที่ต้องการเปลี่ยนแปลง / สร้างวัตถุฐานข้อมูล คำถามของฉันคือควรปรับแต่งการค้นหาเชิงรุกหรือปฏิกิริยา? กล่าวอีกนัยหนึ่งไม่กี่สัปดาห์หลังจากมีการแก้ไขโค้ด / ฐานข้อมูลจำนวนมากฉันควรตั้งวันเพื่อตรวจสอบประสิทธิภาพการค้นหาและปรับแต่งตามนั้น ถึงแม้ว่ามันจะดูเหมือนว่าจะทำงานโอเค ? หรือฉันควรทราบว่าประสิทธิภาพต่ำกว่าค่าเฉลี่ยควรเป็นการตรวจสอบฐานข้อมูลและกลับไปที่กระดานดำที่เป็นสุภาษิต การปรับแต่งข้อความค้นหาอาจใช้เวลานานและขึ้นอยู่กับการออกแบบฐานข้อมูลเริ่มต้นซึ่งอาจมีประโยชน์น้อยที่สุด ฉันอยากรู้อยากเห็นเกี่ยวกับวิธีการทำงานที่ได้รับการยอมรับ

2
รับและนำการทดสอบประสิทธิภาพมาใช้กับ Google BigTables (และฐานข้อมูลรวมอื่น ๆ )
มีวิธีใดที่มีประสิทธิภาพในการทดสอบประสิทธิภาพการทำงานของโปรแกรมในการดำเนินการกับฐานข้อมูลโดยเฉพาะในสภาพแวดล้อมที่ตัวฐานข้อมูลเองไม่มีเครื่องมือเฉพาะ? ตัวอย่างเช่นใน Google App Engine การโหลดหน้าเว็บทั้งหมดจะถูกประเมินเป็นการดำเนินการเดียวซึ่งอาจรวมถึงการดำเนินการฐานข้อมูลเฉพาะ ปัญหานี้ยังมีอยู่ใน SQLite และฐานข้อมูลรวมอื่น ๆ เนื่องจากเป็นการยากที่จะสรุปบทคัดย่อการเลือกและการแทรก (เทียบเท่า) ที่จำเป็นต้องทำการทดสอบจึงมีเครื่องมือฐานข้อมูลที่แนะนำให้ทำการวินิจฉัยอย่างละเอียดมากขึ้นเกี่ยวกับคำถามประเภทนี้หรือไม่?

3
การทดสอบความสามารถในการปรับขนาดของกระบวนงานที่เก็บไว้
ฉันมีแอปพลิเคชันอีเมลที่จะถูกส่งต่อไปยัง UI จำนวนข้อความใหม่สำหรับผู้ใช้ที่ระบุในการโหลดหน้าเว็บแต่ละหน้า ฉันมีหลายรูปแบบของสิ่งที่ฉันกำลังทดสอบในระดับ DB แต่ทั้งหมดจะถูกสรุปโดยการเรียก proc ที่เก็บไว้ ฉันพยายามกดฐานข้อมูลเพื่อดูว่าจุดแตกหัก (# ของคำขอต่อวินาที) จะเป็นอย่างไร โดยสรุปฉันมีตารางเช่น userId นี้ newMsgCount พร้อมกับดัชนีคลัสเตอร์บน userId SQL ควรสามารถตอบสนองต่อเซิร์ฟเวอร์เหล่านี้หลายร้อยหรือหลายพันต่อวินาที ฉันคิดว่าคนเกียจคร้านเป็นแอป. NET ของฉัน ฉันจะทำให้การทดสอบนี้เป็นผลการทดสอบที่ดีโดยใช้ประสิทธิภาพของ SQL ได้อย่างไร มีเครื่องมือสำหรับสิ่งนี้ที่ฉันสามารถให้ชื่อ proc ที่เก็บไว้และ param เพื่อให้ pund DB ของฉันหรือไม่ ฉันต้องการดูว่า DB สามารถส่งคืนนาทีได้หรือไม่ จาก 250 คำตอบต่อวินาที

4
มีเครื่องมืออะไรบ้างในการสร้างข้อมูลทดสอบสำหรับ SQL Server
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ อย่างที่คุณเห็นจากคำถามอื่นของฉันการสร้างข้อมูลทดสอบเป็นธีมของฉันในตอนนี้ ณ จุดนี้ฉันยังคงสร้างข้อมูลทดสอบด้วยมือ อย่างไรก็ตามกระบวนการนี้จะสร้างข้อมูลจำนวนเล็กน้อยเสมอ (โดยปกติจะเป็นแถวสิบห้าแถว) เนื่องจากเป็นกระบวนการที่ทำด้วยตนเอง มีเครื่องมือใดที่ทำให้กระบวนการนี้เป็นอัตโนมัติหรือไม่ โดยเฉพาะฉันต้องการสร้างแถว 1mil +

1
รีเซ็ตการใช้งานเซิร์ฟเวอร์ SQL
ในสภาพแวดล้อมการพัฒนาของฉันฉันเล่นรอบกับแบบสอบถาม สำหรับสิ่งที่ฉันต้องรีเซ็ตหน่วยความจำ SQL Server แผน ฯลฯ ซึ่งสามารถมั่นใจได้ว่าแบบสอบถามของฉันเป็นเพียงกระบวนการความเครียด / การทำงานบนเซิร์ฟเวอร์ที่มีการรีเซ็ตค่าทั้งหมด ไม่กี่สิ่งที่ฉันทำ จุดตรวจการยิง DROPCLEANBUFFERS DBCC; DBCC FREEPROCCACHE; DBCC FLUSHPROCINDB DBCC FREESESSIONCACHE DBCC SQLPERF ("sys.dm_os_wait_stats", CLEAR); ฉันทำถูกต้องหรือไม่ หรือฉันต้องการข้อมูลเพิ่มเติมเพื่อล้างหรือดูสถิติใหม่

1
รายการที่ชัดเจนของขั้นตอนสำหรับการทดสอบพื้นฐานของ SQL Server?
ก่อนเรียกใช้การทดสอบประสิทธิภาพ / พื้นฐานสำหรับแอปที่ใช้ SQL Server ฉันต้องการให้สามารถตั้งค่าอินสแตนซ์เป็นสถานะ "ใหม่ทั้งหมด" โดยไม่ต้องเริ่มต้นอินสแตนซ์ใหม่ มีขั้นตอนที่ฉันมักจะทำตาม แต่ฉันต้องการสร้างรายการที่ชัดเจนที่อยู่ในลำดับที่ถูกต้องและไม่มีขั้นตอนซ้ำซ้อน รายการขั้นตอนนี้ทำให้การตั้งค่า SQL Server เป็นสถานะ "สะอาด" หรือไม่ ลำดับลอจิก / ถูกต้องหรือไม่? มีขั้นตอนที่ซ้ำซ้อนหรือไม่? CHECKPOINT -- Write all dirty pages DBCC DROPCLEANBUFFERS -- All should be clean after checkpoint? DBCC FREEPROCCACHE -- Clear the plan cache DBCC FREESYSTEMCACHE -- Is this necessary after FREEPROCCACHE? …

3
จะทดสอบเซิร์ฟเวอร์ SQL ได้อย่างไร? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ดูแลฐานข้อมูล Exchange Exchange ปิดให้บริการใน3 ปีที่ผ่านมา ฉันได้รับมอบหมายให้ทดสอบเซิร์ฟเวอร์ MSSQL และ MySQL Server ของเรา ฉันต้องการทราบว่ามีเครื่องมือหรือสคริปต์ใดบ้างที่ฉันสามารถใช้กับระบบปัจจุบันของเราและระบบใหม่เพื่อเปรียบเทียบประสิทธิภาพได้หรือไม่ ฉันต้องการวัดอ่าน / เขียนข้อมูลลงดิสก์และประสิทธิภาพของโปรเซสเซอร์ สิ่งอื่นใดที่อาจเป็นประโยชน์ก็ยอดเยี่ยมเช่นกัน ขอบคุณ!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.