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

สิ่งที่อุโมงค์เพิ่มให้การเดินทางของแพ็กเก็ต

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

นั่นคือเหตุผลที่เปอร์เซ็นต์ในรายงานแบตเตอรี่เป็นแนวทางที่แย่สำหรับโอเวอร์เฮด รายงานปันงานให้ส่วนประกอบ และกฎการปันแตกต่างกันระหว่างแพลตฟอร์ม

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

Keepalive การเชื่อมต่อใหม่ และสภาวะตื่นของวิทยุ

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

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

การเปลี่ยนการเชื่อมต่อคือต้นทุนที่สอง ไคลเอนต์ที่เชื่อมต่อใหม่ทุก ๆ ไม่กี่นาทีใช้เวลาไปกับการจับมือแทนที่จะเป็นเพย์โหลด และวิทยุไม่เคยมีโอกาสสงบลง

เมื่อแพลตฟอร์มหยุดอุโมงค์เพื่อประหยัดพลังงาน

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

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

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

สร้างการเปรียบเทียบแทนความเชื่อ

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

ย้ายการถ่ายโอนขนาดใหญ่ที่เป็นทางเลือกไปยังช่วงที่ทั้งพลังงานและเครือข่ายมีราคาถูก

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

บทความที่เกี่ยวข้อง