ห้าวิธีในการเร่งแอปพลิเคชันเสมือน

ผู้เขียน: Laura McKinney
วันที่สร้าง: 2 เมษายน 2021
วันที่อัปเดต: 14 พฤษภาคม 2024
Anonim
5 แอปเพิ่มความขยัน + Productive มากขึ้น!💡Peanut Butter
วิดีโอ: 5 แอปเพิ่มความขยัน + Productive มากขึ้น!💡Peanut Butter

เนื้อหา


ที่มา: Viktorus / Dreamstime.com

Takeaway:

เรียนรู้ห้าเทคนิคในการเร่งแอพพลิเคชันเสมือนโดยไม่ทำลายธนาคาร

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

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


การเพิ่มประสิทธิภาพ WAN และ LAN

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

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


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

การบีบอัดข้อมูลและการใช้สื่อบีบอัดเช่น JPEG, MPEG-4 และ MP3 อาจส่งผลกระทบอย่างมีนัยสำคัญต่อการส่งแอปพลิเคชัน การบีบอัดข้อมูลของเนื้อหาที่ใช้ซึ่งหมายถึง HTML, CSS และ JavaScript สามารถทำให้เวลาในการโหลดลดลง 30 เปอร์เซ็นต์หรือมากกว่า

SSD และอาร์เรย์แฟลช

SSD และอาร์เรย์แฟลชดูเหมือนจะเป็นเทคโนโลยี“ go to” ใหม่สำหรับการเพิ่มประสิทธิภาพของแอพพลิเคชั่นทุกชนิด เป็นความจริงที่การจัดเก็บข้อมูลแบบโซลิดสเตตนั้นเร็วกว่าดิสก์หมุนวน แต่ก็มีราคาแพงกว่าอย่างมาก วิธีแก้ปัญหาอาจดูดีเมื่อใช้ SSD ต่างกัน - เป็นแคชสำหรับข้อมูล "ร้อน" แทนที่จะเป็นข้อมูลที่เหลือ SSD สามารถส่งข้อมูลได้เร็วกว่าดิสก์หมุนได้ แต่ประสิทธิภาพบางอย่างนั้นหายไปในการแปลผ่านเครือข่ายและผ่านส่วนประกอบเครือข่ายต่างๆ อย่างไรก็ตามหากมีการใช้สิ่งที่เรียกว่า "แคชแฟลช" เพื่อใช้ประโยชน์จากความเร็วของ SSD ที่ใช้เก็บข้อมูลที่แคชไว้ผลลัพธ์จะน่าประทับใจ Intel รายงานถึง“ ประสิทธิภาพเพิ่มขึ้น 12 เท่าในการประมวลผลฐานข้อมูลธุรกรรมและการประมวลผลปริมาณงานเสมือนจริงแบบ I / O ที่เร็วขึ้นถึง 36 เท่า”

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

ไม่มีข้อบกพร่องไม่มีความเครียด - คู่มือแบบเป็นขั้นตอนเพื่อสร้างซอฟต์แวร์ที่เปลี่ยนแปลงชีวิตโดยไม่ทำลายชีวิตของคุณ

คุณไม่สามารถพัฒนาทักษะการเขียนโปรแกรมของคุณเมื่อไม่มีใครใส่ใจคุณภาพของซอฟต์แวร์

GPU เสมือน

ถามทุกคนที่ใช้โปรแกรม CAD ซอฟต์แวร์ตัดต่อวิดีโอหรือแม้แต่แอพพลิเคชั่นการจัดการโครงการที่เขาหรือเธอต้องการโหลดแอพพลิเคชั่นเหล่านั้นและคุณจะได้ยินเสียง“ ท้องถิ่น” เปลี่ยนแอพพลิเคชั่นที่เน้นกราฟิกเหล่านี้ จนกว่าจะมีการเปิดตัวเทคโนโลยีหน่วยประมวลผลกราฟิกเสมือน (GPU)

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

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

ซอฟต์แวร์ที่ปรับประสิทธิภาพให้เหมาะสม

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

มีผู้เช่นผู้บุกเบิกคอมพิวเตอร์ Donald Knuth ผู้กล่าวถึงการเพิ่มประสิทธิภาพของรหัสคอมพิวเตอร์ว่า“ ถ้าคุณเพิ่มประสิทธิภาพทุกอย่างคุณจะไม่มีความสุขอยู่เสมอ” ความคิดเห็นของ Mr. Knuth แม้ว่าการปรับรหัสให้เหมาะสมเพื่อการปรับปรุงที่สมดุล . แต่สิ่งที่เกี่ยวกับโปรแกรมเชิงพาณิชย์ที่คุณซื้อและปรับใช้กับผู้ใช้ของคุณ ตัวอย่างเช่นชุด Microsoft Office Evergreen เป็นชุดแอปพลิเคชันมาตรฐานที่ผู้ดูแลระบบต้องให้บริการแก่ผู้ใช้ในพื้นที่และผู้ใช้ระยะไกล

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

เก็บเอาไว้

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

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

การแคชมักเป็นวิธีการเร่งความเร็วแอปพลิเคชันที่ต้องการเนื่องจากมีค่าใช้จ่ายน้อยกว่าโซลูชั่นที่มีประสิทธิภาพซึ่งเปรียบเทียบได้กับการปรับปรุงโครงสร้างพื้นฐาน (หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการแคชดูที่การเขียนที่ถูกต้องดูวิธีการแคช I / O)

สรุป

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