ตรวจสอบและปรับประสิทธิภาพการทํางานของเกตเวย์ข้อมูลภายในองค์กรให้เหมาะสม
การตรวจสอบประสิทธิภาพการทํางานของเกตเวย์ (ตัวอย่างสาธารณะ)
เมื่อต้องการตรวจสอบประสิทธิภาพการทํางาน ผู้ดูแลระบบเกตเวย์พึ่งพาการตรวจสอบตัวนับประสิทธิภาพด้วยตนเองผ่านทางเครื่องมือ Windows Performance Monitor ขณะนี้เรามีการบันทึกคิวรีเพิ่มเติมและ ไฟล์ เทมเพลต PBI ประสิทธิภาพเกตเวย์เพื่อแสดงผลลัพธ์เป็นภาพ คุณลักษณะนี้ให้ข้อมูลเชิงลึกใหม่เกี่ยวกับการใช้เกตเวย์ คุณสามารถใช้เพื่อแก้ไขปัญหาคิวรีที่ทํางานช้าได้
หมายเหตุ
คุณลักษณะนี้พร้อมใช้งานสําหรับเกตเวย์ข้อมูลภายในองค์กรในโหมดมาตรฐานเท่านั้น โหมดนี้ใช้ไม่ได้สําหรับโหมดส่วนบุคคล
หมายเหตุ
การวินิจฉัยเกตเวย์ไม่ได้รวบรวมการวินิจฉัยที่เกี่ยวข้องกับเครื่อง (เสมือน) และเครือข่ายโดยตรง เช่น แบนด์วิดธ์หรือเวลาแฝง อย่างไรก็ตาม การวินิจฉัยเหล่านี้อาจส่งผลกระทบต่อประสิทธิภาพการทํางานของเกตเวย์ของคุณ คุณสามารถใช้เครื่องมือตรวจสอบทรัพยากรเพื่อตรวจสอบเครื่องของคุณได้
การบันทึกประสิทธิภาพการทํางาน
คุณลักษณะนี้จะเปิดใช้งานตามค่าเริ่มต้น
หมายเหตุ
- ขณะนี้ คิวรีจากความจุแบบพรีเมียมไปยังเกตเวย์บางครั้งพลาดในการบันทึกนี้ เรากําลังแก้ไขปัญหานี้
- ในตอนนี้ คิวรีรายงานที่มีการแบ่งหน้าของ Power BI จะไม่ถูกบันทึกโดยใช้เครื่องมือนี้
กําหนดค่าการบันทึกประสิทธิภาพการทํางาน
มีค่าอื่น ๆ ในไฟล์ C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config
กําหนดค่าที่คุณสามารถอัปเดตได้ตามความจําเป็น:
- ReportFilePath: กําหนดเส้นทางที่จัดเก็บไฟล์บันทึกทั้งสี่ ตามค่าเริ่มต้น เส้นทางนี้คือ \Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report หรือ \Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Report เส้นทางขึ้นอยู่กับเวอร์ชันของระบบปฏิบัติการ ถ้าคุณใช้บัญชีบริการสําหรับเกตเวย์นอกเหนือจาก PBIEgwService ให้แทนที่ส่วนนี้ของเส้นทางด้วยชื่อบัญชีบริการ
- ReportFileCount: กําหนดจํานวนไฟล์บันทึกของแต่ละชนิดที่จะคงไว้ ค่าเริ่มต้นคือ 10
- ReportFileSizeInBytes: กําหนดขนาดของไฟล์ที่จะรักษา ค่าเริ่มต้นคือ 104,857,600
- QueryExecutionAggregationTimeInMinutes: กําหนดจํานวนนาทีที่มีการรวบรวมข้อมูลการดําเนินการคิวรี ค่าเริ่มต้นคือ 5
- SystemCounterAggregationTimeInMinutes: กําหนดจํานวนนาทีที่รวมตัวนับระบบ ค่าเริ่มต้นคือ 5
หลังจากที่คุณทําการเปลี่ยนแปลงไปยังไฟล์กําหนดค่าแล้ว ให้รีสตาร์ทเกตเวย์เพื่อให้ค่าการกําหนดค่าเหล่านี้มีผล ขณะนี้กําลังสร้างไฟล์รายงานในตําแหน่งที่ตั้งที่คุณระบุสําหรับ ReportFilePath
หมายเหตุ
อาจใช้เวลาถึง 10 นาทีบวกกับระยะเวลาที่ตั้งค่าสําหรับ QueryExecutionAggregationTimeInMinutes ในไฟล์กําหนดค่าจนกว่าไฟล์จะเริ่มแสดงในโฟลเดอร์
ทําความเข้าใจเกี่ยวกับบันทึกประสิทธิภาพการทํางาน
เมื่อคุณเปิดคุณลักษณะนี้ จะมีการสร้างไฟล์บันทึกใหม่สี่ไฟล์:
- รายงานการดําเนินการคิวรี
- รายงานเริ่มต้นคิวรี
- รายงานการรวมการดําเนินการคิวรี
- รายงานการรวมตัวนับของระบบ
รายงานการดําเนินการคิวรีประกอบด้วยข้อมูลการดําเนินการคิวรีโดยละเอียด แอตทริบิวต์ต่อไปนี้จะถูกบันทึกไว้
แอตทริบิวต์ | คำอธิบาย |
---|---|
GatewayObjectId | ตัวระบุเฉพาะสําหรับเกตเวย์ |
RequestId | ตัวระบุที่ไม่ซ้ํากันสําหรับคําขอเกตเวย์ ซึ่งอาจเหมือนกันสําหรับหลายคิวรี |
แหล่งข้อมูล | ประกอบด้วยทั้งชนิดแหล่งข้อมูลและแหล่งข้อมูล |
QueryTrackingId | ตัวระบุที่ไม่ซ้ําสําหรับคิวรี แต่อาจทําซ้ําถ้าคิวรีล้มเหลวและลองใหม่ |
QueryExecutionEndTimeUTC | เวลาที่การดําเนินการคิวรีเสร็จสมบูรณ์ |
QueryExecutionDuration (ms) | ระยะเวลาสําหรับการดําเนินการคิวรี |
QueryType | ชนิดของคิวรี ตัวอย่างเช่น คิวรีที่ส่งผ่านอาจเป็นการรีเฟรช Power BI หรือ DirectQuery หรืออาจเป็นคิวรีจาก Power Apps และ Power Automate |
DataProcessingEndTimeUTC | เวลาเมื่อกิจกรรมการประมวลผลข้อมูล เช่น การหลอกลวง การค้นคืนข้อมูล การบีบอัด และการประมวลผลข้อมูลที่เสร็จสมบูรณ์ |
DataProcessingDuration (ms) | ระยะเวลาสําหรับกิจกรรมการประมวลผลข้อมูล เช่น การหลอกลวง การเรียกข้อมูล การบีบอัด และการประมวลผลข้อมูล |
ความสําเร็จ | ระบุว่าคิวรีสําเร็จหรือล้มเหลว |
ErrorMessage | ถ้าคิวรีล้มเหลว ให้ระบุข้อความแสดงข้อผิดพลาด |
SpoolingDiskWritingDuration (ms) | ระบุระยะเวลาโดยเกตเวย์เพื่อเขียนข้อมูลทั้งหมดลงในดิสก์ |
SpoolingDiskReadingDuration (ms) | ระบุระยะเวลาที่เกตเวย์อ่านข้อมูลทั้งหมดลงในดิสก์ |
SpoolingTotalDataSize (ไบต์) | Size(Compressed) ของข้อมูลที่เขียนไปยัง/อ่านจากดิสก์ |
DataReadingAndSerializationDuration (ms) | ระบุระยะเวลาที่เกตเวย์ใช้อ่านข้อมูลจากแหล่งข้อมูล และทําให้เป็นแพคเก็ต |
DiskRead (ไบต์/วินาที) | ระบุไบต์ที่อ่านโดยเกตเวย์ต่อวินาที DiskRead(ไบต์/วินาที) = SpoolingTotalDataSize / SpoolingDiskReadingDuration |
DiskWrite (ไบต์/วินาที) | ระบุไบต์ที่เขียนโดยเกตเวย์ต่อวินาที DiskWrite(byte/sec) = SpoolingTotalDataSize / SpoolingDiskWritingDuration |
รายงานเริ่มต้นคิวรีประกอบด้วยคิวรีและเวลาเริ่มต้นคิวรี แอตทริบิวต์ต่อไปนี้จะถูกบันทึกไว้
แอตทริบิวต์ | คำอธิบาย |
---|---|
GatewayObjectId | ตัวระบุเฉพาะสําหรับเกตเวย์ |
RequestId | ตัวระบุที่ไม่ซ้ํากันสําหรับคําขอเกตเวย์ ซึ่งอาจเหมือนกันสําหรับหลายคิวรี |
แหล่งข้อมูล | ประกอบด้วยทั้งชนิดแหล่งข้อมูลและแหล่งข้อมูล |
QueryTrackingId | ตัวระบุที่ไม่ซ้ําสําหรับคิวรี แต่อาจทําซ้ําถ้าคิวรีล้มเหลวและลองใหม่ |
QueryExecutionStartTimeUTC | เวลาที่การดําเนินการคิวรีเริ่มต้น |
QueryType | ชนิดของคิวรี ตัวอย่างเช่น คิวรีที่ส่งผ่านอาจเป็นการรีเฟรช Power BI หรือ DirectQuery หรืออาจเป็นคิวรีจาก Power Apps และ Power Automate |
QueryText | ทําคิวรีให้สมบูรณ์เข้ารหัสด้วย base64 |
EvaluationContext | ประกอบด้วย artifactId (ie., datasetid สําหรับแบบจําลองเชิงความหมาย dataflowsId ฯลฯ) พร้อมกับรหัสการติดตามเพิ่มเติมโดยขึ้นอยู่กับอาร์ทิแฟกต์ โปรดทราบว่าเขตข้อมูลนี้จะเติมข้อมูลสําหรับปริมาณงานที่รองรับใน Fabric, Power Platform, Azure Analysis Services และตัวเชื่อมต่อบางอย่างใน Azure Logic Apps เท่านั้น ซึ่งรวมถึง: แบบจําลองความหมาย กระแสข้อมูล Gen2 และกระแสข้อมูล Power Platform นอกจากนี้ยังมีปริมาณงาน Azure Logic Apps สําหรับตัวเชื่อมต่อ Mashup Query, HTTP และ File Azure ค่าจะประกอบด้วยรหัสการติดตามที่แตกต่างกัน โดยขึ้นอยู่กับปริมาณงานที่ใช้ Power BI และ Fabric Dataflows Gen 1 และรายงานที่มีการแบ่งหน้าของ Power BI ไม่ได้รับการสนับสนุน |
รายงานการรวมการดําเนินการคิวรีประกอบด้วยข้อมูลคิวรีที่รวมเป็นช่วงเวลาโดย GatewayObjectId, DataSource, Success และ QueryType ค่าเริ่มต้นคือ 5 นาที แต่คุณสามารถปรับได้ แอตทริบิวต์ต่อไปนี้จะถูกบันทึกไว้
แอตทริบิวต์ | คำอธิบาย |
---|---|
GatewayObjectId | ตัวระบุเฉพาะสําหรับเกตเวย์ |
AggregationStartTimeUTC | จุดเริ่มต้นของหน้าต่างเวลาที่มีการรวมแอตทริบิวต์คิวรี |
AggregationEndTimeUTC | จุดสิ้นสุดของหน้าต่างเวลาที่มีการรวมแอตทริบิวต์คิวรี |
แหล่งข้อมูล | ประกอบด้วยทั้งชนิดแหล่งข้อมูลและแหล่งข้อมูล |
ความสําเร็จ | ระบุว่าคิวรีสําเร็จหรือล้มเหลว |
AverageQueryExecutionDuration (ms) | เวลาการดําเนินการคิวรีโดยเฉลี่ยสําหรับหน้าต่างเวลาการรวม |
MaxQueryExecutionDuration (ms) | เวลาการดําเนินการคิวรีสูงสุดสําหรับหน้าต่างเวลาการรวม |
MinQueryExecutionDuration (ms) | เวลาการดําเนินการคิวรีต่ําสุดสําหรับหน้าต่างเวลาการรวม |
QueryType | ชนิดของคิวรี ตัวอย่างเช่น คิวรีที่ส่งผ่านอาจเป็นการรีเฟรช Power BI หรือ DirectQuery หรืออาจเป็นคิวรีจาก Power Apps และ Power Automate |
AverageDataProcessingDuration (ms) | เวลาเฉลี่ยสําหรับกิจกรรมการประมวลผลข้อมูล เช่น การหลอกลวง การค้นคืนข้อมูล การบีบอัด และการประมวลผลข้อมูลสําหรับหน้าต่างเวลาการรวม |
MaxDataProcessingDuration (ms) | เวลาสูงสุดสําหรับกิจกรรมการประมวลผลข้อมูล เช่น การหลอกลวง การดึงข้อมูล การบีบอัด และการประมวลผลข้อมูลสําหรับหน้าต่างเวลาการรวม |
MinDataProcessingDuration (ms) | เวลาต่ําสุดสําหรับกิจกรรมการประมวลผลข้อมูล เช่น การหลอกลวง การดึงข้อมูล การบีบอัด และการประมวลผลข้อมูลสําหรับหน้าต่างเวลาการรวม |
Count | จํานวนคิวรี |
รายงานการรวมตัวนับระบบประกอบด้วยค่าตัวนับระบบที่รวมเป็นช่วงเวลา ค่าเริ่มต้นคือ 5 นาที แต่คุณสามารถปรับได้ แอตทริบิวต์ต่อไปนี้จะถูกบันทึกไว้
แอตทริบิวต์ | คำอธิบาย |
---|---|
GatewayObjectId | ตัวระบุเฉพาะสําหรับเกตเวย์ |
AggregationStartTimeUTC | จุดเริ่มต้นของหน้าต่างเวลาสําหรับตัวนับระบบที่ถูกรวม |
AggregationEndTimeUTC | สิ้นสุดหน้าต่างเวลาสําหรับตัวนับระบบที่ถูกรวม |
ชื่อตัวนับ | ตัวนับระบบนําไปใช้กับเซิร์ฟเวอร์หนึ่งตัวที่โฮสต์โหนดเกตเวย์และรวมถึง: • SystemCPUPercent: CPU ที่ใช้บนเซิร์ฟเวอร์เป็นเปอร์เซ็นต์ของ CPU ที่พร้อมใช้งานทั้งหมด • SystemMEMUsedPercent: หน่วยความจําที่ใช้บนเซิร์ฟเวอร์เป็นเปอร์เซ็นต์ของผลรวมหน่วยความจําที่พร้อมใช้งาน • GatewayCPUPercent: ผลรวมของเปอร์เซ็นต์ของ CPU ที่ใช้โดยกระบวนการเกตเวย์บนแต่ละแกน เมื่อต้องการรับเปอร์เซ็นต์ของ CPU ที่ใช้บนเซิร์ฟเวอร์ ให้หาร GatewayCPUPercent ด้วยจํานวนแกน • GatewayMEMKb: ผลรวมของหน่วยความจําทั้งหมดในกิโลไบต์ที่กระบวนการเกตเวย์ใช้ |
Max | ค่าสูงสุดสําหรับตัวนับระบบสําหรับหน้าต่างเวลาการรวม |
Min | ค่าต่ําสุดสําหรับตัวนับระบบสําหรับหน้าต่างเวลาการรวม |
Average | ค่าเฉลี่ยสําหรับตัวนับระบบสําหรับหน้าต่างเวลาการรวม |
แสดงประสิทธิภาพของเกตเวย์
ในตอนนี้ คุณสามารถแสดงข้อมูลที่อยู่ในไฟล์บันทึก
ดาวน์โหลดเทมเพลต PBI ประสิทธิภาพการทํางานของเกตเวย์ และเปิดโดยใช้ Power BI Desktop
ในกล่องโต้ตอบที่เปิดขึ้น ให้ตรวจสอบว่าเส้นทางโฟลเดอร์ตรงกับค่าใน ReportFilePath หรือไม่
เลือก โหลด และไฟล์เทมเพลตจะเริ่มโหลดข้อมูลจากไฟล์บันทึกของคุณ วิชวลทั้งหมดจะถูกเติมโดยใช้ข้อมูลในรายงาน
อีกทางหนึ่งคือ บันทึกไฟล์นี้เป็น PBIX และเผยแพร่ไปยังบริการของคุณสําหรับการรีเฟรชโดยอัตโนมัติ เมื่อต้องการเรียนรู้เพิ่มเติม ไปที่เผยแพร่แบบจําลองเชิงความหมายและรายงานจาก Power BI Desktop
คุณยังสามารถปรับแต่งไฟล์แม่แบบนี้ให้เหมาะสมกับความต้องการของคุณได้ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับเทมเพลต Power BI ให้ไปที่ บล็อกโพสต์ของ Microsoft Power BI นี้
ตรวจสอบที่เก็บข้อมูลแบบเก็บพัก
ตามค่าเริ่มต้น ที่เก็บพักสําหรับเกตเวย์จะอยู่ที่ C:\Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\Spooler ตรวจสอบให้แน่ใจว่าได้ตรวจสอบตําแหน่งที่ตั้งนี้เพื่อให้แน่ใจว่ามีเนื้อที่ว่างบนดิสก์เพียงพอ ข้อมูลเพิ่มเติม: ข้อมูลการสวมรอยเกตเวย์
คิวรีที่ทํางานช้า
คิวรีที่ทํางานนานอาจจําเป็นต้องปรับเปลี่ยนแหล่งข้อมูลของคุณเพิ่มเติม หรือจําเป็นต้องปรับคิวรีให้เหมาะสม ซึ่งอาจเป็นได้ทั้งสําหรับการรีเฟรช Power BI หรือสําหรับคิวรีฐานข้อมูลโดยตรง เช่น Power BI DirectQuery, Power Apps หรือ Azure Logic Apps
ตามค่าเริ่มต้น เกตเวย์จะทําการบันทึกแบบพื้นฐาน ถ้าคุณกําลังตรวจสอบคิวรีที่ทํางานช้า นอกเหนือจากการใช้คุณลักษณะการตรวจสอบประสิทธิภาพการทํางาน คุณสามารถเปิดใช้งาน การบันทึก เพิ่มเติมชั่วคราวเพื่อรวบรวมข้อมูลบันทึกเพิ่มเติม รวมถึงไฟล์บันทึกกลไกจัดการ Mashup สตริงคิวรี และการติดตามระดับอย่างละเอียด บันทึกเหล่านี้จะถูกเขียนลงในตําแหน่งเดียวกับบันทึกเกตเวย์ปกติของคุณ เมื่อต้องการทําเช่นนี้ ในแอปเกตเวย์ข้อมูลภายในองค์กร ให้เลือก การวินิจฉัย>การบันทึกเพิ่มเติม
การเปิดใช้งานการตั้งค่านี้น่าจะเพิ่มขนาดของไฟล์บันทึกอย่างมาก โดยขึ้นอยู่กับการใช้เกตเวย์ เราขอแนะนําให้หลังจากที่คุณเสร็จสิ้นการตรวจทานบันทึกที่คุณปิดใช้งานการบันทึกเพิ่มเติม เราไม่แนะนําให้เปิดใช้งานการตั้งค่านี้ทิ้งไว้ระหว่างการใช้งานเกตเวย์ปกติ
ปรับประสิทธิภาพให้เหมาะสมโดยข้อมูลการสตรีม
ตามค่าเริ่มต้น เกตเวย์ข้อมูลภายในองค์กรจะเก็บข้อมูลก่อนที่จะส่งกลับไปยังแบบจําลองความหมาย ซึ่งอาจส่งผลให้ประสิทธิภาพการทํางานช้าลงในระหว่างการโหลดข้อมูลและการดําเนินการรีเฟรช ลักษณะการทํางานเริ่มต้นสามารถถูกแทนที่ได้
ในไฟล์ C:\Program Files\On-Premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config ให้ตั้งค่า การตั้งค่า StreamBeforeRequestCompletes เป็น True แล้วบันทึก
<setting name="StreamBeforeRequestCompletes" serializeAs="String"> <value>True</value> </setting>
ในการตั้งค่าบริการของเกตเวย์>ข้อมูลภายในองค์กร ให้รีสตาร์ทเกตเวย์
หมายเหตุ
การเปิดใช้งาน StreamBeforeRequestCompletes อาจทําให้เกิดปัญหาความน่าเชื่อถือของคิวรีเมื่อใช้แหล่งข้อมูลช้าหรือมีการเชื่อมต่อเครือข่ายที่ไม่เสถียร/จํากัด
ปรับประสิทธิภาพให้เหมาะสมโดยการยกเว้นโฟลเดอร์เฉพาะจากการสแกนโปรแกรมป้องกันไวรัส
เพื่อหลีกเลี่ยงผลกระทบต่อประสิทธิภาพการทํางาน โฟลเดอร์บางโฟลเดอร์อาจถูกแยกออกจากการสแกนโปรแกรมป้องกันไวรัสเมื่อคุณใช้ซอฟต์แวร์ป้องกันไวรัสระดับไฟล์ในเซิร์ฟเวอร์ที่ติดตั้งเกตเวย์ข้อมูลภายในองค์กร หากไม่มีการแยกโฟลเดอร์เหล่านี้ คุณอาจสังเกตเห็นผลกระทบด้านประสิทธิภาพการทํางานและลักษณะการทํางานที่ไม่คาดคิดอื่น ๆ เนื่องจากโฟลเดอร์เหล่านี้ได้รับการดําเนินการเขียนจํานวนมากและที่แกนหลัก ไปป์ไลน์ข้อมูลของเกตเวย์ข้อมูลภายในองค์กร
โฟลเดอร์ที่อาจจําเป็นต้องแยกออกจากการสแกนโปรแกรมป้องกันไวรัสในเซิร์ฟเวอร์เกตเวย์ข้อมูลภายในองค์กร
หมายเหตุ
ตําแหน่งต่อไปนี้ holder Drive แสดงตัวอักษรของไดรฟ์ที่ติดตั้งเกตเวย์ข้อมูลภายในองค์กร โดยทั่วไปแล้ว จดหมายโปรแกรมควบคุมคือ C Holder ServiceAccount ต่อไปนี้แสดงบัญชีบริการที่ใช้งานเกตเวย์ข้อมูลภายในองค์กร บัญชีเริ่มต้นคือ PBIEgwService
- ไดเรกทอรีการบันทึก: Drive:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\On-premises data gateway
- ไดเรกทอรีที่เก็บข้อมูล Spool: Drive:\Windows\ServiceProfiles\ ServiceAccount \AppData\Local\Microsoft\On-premises data gateway\Spooler