ป้องกัน Connection Overload ใน Azure

ตอนนี้ web ของคุณ หรือ web-api ของคุณมีคนใช้เยอะเกินไปหรือเปล่าครับ? ถ้า web ของคุณมีคนใช้จน CPU เต็ม 100% แล้วคุณยังฝืนปล่อยให้มีคนมาเรียกอีก ระบบคุณอาจจะค้างไปเลยก็ได้ คุณสามารถปฏิเสธ request ใหม่ ๆ ให้ขึ้น 503 service unavailable ซึ่งเป็นการป้องกันไม่ให้ Server คุณล่มได้

ไปที่ Config ของ WebRole (ServiceDefinition.csdef) เพิ่มบรรทัดนี้

เช่น



ที่ Project Web แล้วเพิ่ม reference Microsoft.Web.Administration.dll (อยู่ใน %windir%system32inetsrv)

และก็เพิ่ม WebRole.cs (ถ้ายังไม่มี) เพิ่มคำสั่งใน OnStart ดังนี้


public class WebRole : RoleEntryPoint

{

  public override bool OnStart()

  {

    using (var mgr = new ServerManager())

    { 

      mgr.Sites[0].Limits.MaxConnections = 5000;

      mgr.CommitChanges();

    }

    return true;

  }

}


ตัวเลข 5000 คือจำนวน Connection สูงสุด ถ้าเกินกว่านี้จะขึ้น 503 Service Unavailable ปรับเป็นตัวเลขที่คุณต้องการได้เลยครับ




Create Date : 03 ธันวาคม 2556
Last Update : 10 พฤศจิกายน 2557 21:00:22 น.
Counter : 575 Pageviews.

0 comments
ชุดชามสัมผัส PCX แตก (เปลี่ยนวันที่ 8 มีนาคม 2568) Emmy Journey พากิน พาเที่ยว
(26 มิ.ย. 2568 16:20:19 น.)
ทำมเวลาเราเขียนบทความออนไลน์จึงควรใส่คีย์เวิร์ดสำคัญลงไปด้วย สมาชิกหมายเลข 3008109
(27 พ.ค. 2568 00:23:46 น.)
เบลอหนักลืมกุญแจไว้ใน trunk โอพีย์คุณนายกุ๊งกิ๊ง
(27 เม.ย. 2568 12:13:15 น.)
วิธีพาเว็บ Bloggerไปแนะนำตัวกับ Search Engine ทุกเจ้า Google, Bing, Yahoo,Yandex และ DuckDuckGo LuMoo (ลูโม)
(20 เม.ย. 2568 22:22:35 น.)
ชื่อ : * blog นี้ comment ได้เฉพาะสมาชิก
Comment :
 *ส่วน comment ไม่สามารถใช้ javascript และ style sheet
 

Chaowman.BlogGang.com

chaowman
Location :
กรุงเทพฯ  Thailand

[ดู Profile ทั้งหมด]
 ผู้ติดตามบล็อก : 8 คน [?]