ตรวจสอบเวลาในการโหลดมุมมองโดยใช้บันทึกกิจกรรม

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

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

ข้อกำหนดเบื้องต้น

หากต้องการตรวจสอบเวลาในการโหลดมุมมอง ข้อมูลบันทึกกิจกรรมของคุณต้องอยู่ในรูปแบบที่มีโครงสร้างและสามารถค้นหาได้ ตรวจสอบให้แน่ใจว่าได้ดำเนินการตามข้อกําหนดเบื้องต้นเหล่านี้แล้ว ก่อนที่คุณจะดําเนินการต่อ:

  • การกําหนดค่าบันทึกกิจกรรม: ตั้งค่าบันทึกกิจกรรมเพื่อเขียนไฟล์บันทึกลงในบักเก็ต AWS S3 ของคุณ

  • การนําเข้าข้อมูล: นําเข้าไฟล์บันทึกที่สร้างโดยบันทึกกิจกรรมไปยังเครื่องมือตรวจสอบ เช่น Splunk หรือ Amazon EventBridge หรือคุณสามารถนําเข้าไปยังคลังข้อมูลบนระบบคลาวด์ เช่น Snowflake หรือ Google BigQuery ก็ได้เช่นกัน เป้าหมายคือการทำให้ข้อมูลของคุณอยู่ในรูปแบบที่สามารถค้นหาและวิเคราะห์ได้ง่าย

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

เริ่มใช้งาน

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

หากต้องการตรวจสอบเหตุการณ์ Bootstrap:

  1. เปิดเครื่องมือตรวจสอบที่คุณตั้งค่าไว้ เช่น Splunk หรือ Amazon EventBridge

  2. กรองค่าเหล่านี้:

    1. eventType = vizql_http_request

    2. endpointName = bootstrapSession

    3. eventOutcome = success

  3. ในผลลัพธ์ ให้ค้นหา duration ฟิลด์

ฟิลด์ระยะเวลาสําหรับเหตุการณ์ vizql_http_request แสดงถึงระยะเวลาที่ดําเนินการจนเสร็จสิ้น โดยหน่วยเป็นมิลลิวินาที ซึ่งจะช่วยให้คุณติดตามและวิเคราะห์เวลาในการโหลดมุมมอง Tableau ครั้งแรกได้

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

ตรวจหาข้อผิดพลาด

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

  • eventOutcome: ฟิลด์นี้จะบันทึกหมวดหมู่ความสําเร็จหรือความล้มเหลวระดับสูงของแต่ละการดําเนินการ (สําเร็จ ล้มเหลว client_error หรือ internal_error)

  • eventOutcomeReason: ฟิลด์นี้จะให้ข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่ผิดพลาด ซึ่งมักจะบันทึกรหัสสถานะ HTTP ที่อธิบายถึงข้อผิดพลาด

วิธีตรวจหาข้อผิดพลาด:

  1. เปิดเครื่องมือตรวจสอบที่คุณตั้งค่าไว้ เช่น Splunk หรือ Amazon EventBridge

  2. กรองค่าเหล่านี้:

    1. eventType = vizql_http_request

    2. endpointName = bootstrapSession

    3. eventOutcome != success

  3. ในผลลัพธ์ ให้ตรวจสอบ eventOutcomeReason เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับข้อผิดพลาด

แก้ปัญหาเรื่องประสิทธิภาพ

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

แก้ปัญหาเวิร์กบุ๊กเดียว

ใช้ขั้นตอนเหล่านี้หากมีข้อกังวลด้านประสิทธิภาพกับเวิร์กบุ๊กเดียว

  1. ระบุการแก้ไขเวิร์กบุ๊ก:

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

    หากการแก้ไขใหม่เป็นสาเหตุของปัญหาด้านประสิทธิภาพ ให้ติดต่อเจ้าของเวิร์กบุ๊กและร่วมกันปรับปรุงการออกแบบ

  2. ตรวจสอบปัญหาที่เกิดขึ้นกับเฉพาะผู้ใช้:

    หากปัญหาด้านประสิทธิภาพไม่ได้เฉพาะเจาะจงกับการแก้ไขเวิร์กบุ๊ก ให้พิจารณาว่าปัญหาดังกล่าวส่งผลต่อเฉพาะผู้ใช้บางรายหรือไม่ คุณสามารถทําได้โดยตรวจสอบแอตทริบิวต์ requestUri และ actorUserLuid ในเซสชัน Bootstrap แอตทริบิวต์ requestUri จะระบุ URL ของเวิร์กบุ๊กหรือมุมมองที่กําลังเข้าถึง และแอตทริบิวต์ actorUserLuid จะระบุผู้ใช้ที่กำลังเข้าถึงมุมมอง การใช้ทั้งสองอย่างสามารถช่วยให้คุณแยกแยะเซสชันของผู้ใช้แต่ละคนได้

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

  3. ตรวจสอบการรักษาความปลอดภัยระดับแถว

    หากผู้ใช้บางรายประสบปัญหาเกี่ยวกับประสิทธิภาพ และมุมมองที่กําหนดเองไม่ใช่สาเหตุ ปัญหาอาจเกี่ยวข้องกับการรักษาความปลอดภัยระดับแถว (RLS) ที่ใช้ในเวิร์กบุ๊ก RLS อาจส่งผลกระทบอย่างมากต่อประสิทธิภาพ โดยเฉพาะอย่างยิ่งหากกฎการรักษาความปลอดภัยมีความซับซ้อนหรือหากชุดข้อมูลมีขนาดใหญ่ หากต้องการข้อมูลเพิ่มเติม โปรดดูภาพรวมของตัวเลือกความปลอดภัยระดับแถวใน Tableau

แก้ปัญหาเซตย่อยของเวิร์กบุ๊ก

ใช้ขั้นตอนเหล่านี้หากมีข้อกังวลด้านประสิทธิภาพกับเซตย่อยของเวิร์กบุ๊ก

  1. ระบุแหล่งข้อมูลทั่วไป:

    มองหาความเหมือนกันในแหล่งข้อมูลที่ใช้โดยเวิร์กบุ๊กที่ได้รับผลกระทบ

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

    หากเวิร์กบุ๊กที่ได้รับผลกระทบกําลังใช้การแยกข้อมูล ให้ตรวจสอบว่ามีการอัปเดตล่าสุดหรือไม่ คุณสามารถใช้ประเภทเหตุการณ์ hist_publish_datasource ในบันทึกกิจกรรมหรือแหล่งข้อมูลเหตุการณ์ TS ในข้อมูลเชิงลึกของผู้ดูแลเพื่อระบุการเปลี่ยนแปลงล่าสุดได้

  2. ตรวจสอบประสิทธิภาพของแหล่งข้อมูล:

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

    สําหรับแหล่งข้อมูลที่แยกออกมา ให้ตรวจสอบกระบวนการแยกข้อมูลและการอัปเดตล่าสุด ตรวจสอบให้แน่ใจว่าการแยกข้อมูลได้รับการปรับให้เหมาะสมและข้อมูลไม่ใหญ่หรือซับซ้อนเกินไป หากต้องการข้อมูลเพิ่มเติม โปรดดูสร้างการแยกข้อมูลบนเว็บ

ข้อควรพิจารณาที่สําคัญ

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

  • แดชบอร์ดที่แคช: หากแดชบอร์ดหรือมุมมองถูกดึงมาจากแคชก่อนหน้า

  • การสลับแท็บ: หากผู้ใช้สลับแท็บภายในเวิร์กบุ๊กเดียวกัน และมีการโหลดหรือแคชเนื้อหาสําหรับแท็บใหม่

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

ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ