Just algorithm!
ป้องกัน 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 น. 0 comments
Counter : 571 Pageviews.

ชื่อ : * blog นี้ comment ได้เฉพาะสมาชิก
Comment :
  *ส่วน comment ไม่สามารถใช้ javascript และ style sheet
 

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

[Profile ทั้งหมด]

ให้ทิปเจ้าของ Blog [?]
ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 8 คน [?]





New Comments
Group Blog
 
All Blogs
 
Friends' blogs
[Add chaowman's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.