天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

構建高性能ASP.NET站點之減少不必要的請求

  前言:本篇的一些內容比較的有意思,總結了可能平時大家可以注意到的一些優化點,而且非常的實用。

  本篇的議題如下:

  識別和分析服務端的性能瓶頸(上)

  內存(前篇)

  緩存(前篇)

  CPU(后篇)

  處理請求線程(后篇)

  提高性能的一些簡單改進措施(下)

  部署優化(前篇)

  減少不必要回傳(前篇)

  減少不必要的請求(后篇)

  搜索引擎問題

  熱鏈接問題

  驗證碼(CAPTCHA)

  網絡刮刀

  服務端的要處理的請求越多,無疑服務端的壓力也就越大,尤其是有些請求需要訪問一些比較昂貴的資源,例如數據庫,服務端的文件等。但是我們必須知道,在到達服務端的請求中,有些請求時我們希望的,例如網站的用戶的請求,有些請求其實是不必要,甚至是我們不想要的,為此,我們要避免這樣的請求,節省服務端的資源,從而提高性能。

  搜索引擎

  首先來看看有關搜索引擎的問題。

  然后搜索引擎爬到我們的站點是一件好的事情,很多的SEO可以進行,推廣站點。同時,在站點中,有些文件或者資源比較的私密,或者我們不希望被搜索引擎請求和收錄的,因為每次搜索引擎在請求這些資源的時候,就是發送請求到我們的站點服務器,勢必會加重服務器的負載。

  不需要被搜索引擎請求的文件一般如下:

  1. 圖片資源

  2. Js腳本,css等

  3. 一些需要身份驗證或者授權才能看的頁面(如果頁面需要驗證之后才能看,搜索引擎收錄了也作用不大)

  我們可以設置一下,告訴搜索引擎的蜘蛛程序如何爬我們的站點。

  步驟如下:

  1. 在站點的根目錄下面,創建一個robots.txt的文件。

  2. 寫入文件。如果我們希望阻止所有的搜索引擎來爬我們的站點的頁面,那么就可以在文件中寫入下面的配置:

  User-agent: *

  Disallow: /

  如果希望阻止搜索引擎爬某個文件夾,可以配置如下:

  User-agent: *

  Disallow: /images/

  Disallow: /js/

  Disallow: /css/

  Disallow: /private/

  更有趣的是:對于某些搜索引擎,我們還可以改變他們的蜘蛛程序爬我們站點的頻率,設置如下:

  User-agent: *

  Crawl-delay: 10

  大家可以去上網找下一些如何影響Google,百度等蜘蛛程序的設置。

  熱鏈接問題

  就是在A網站上面顯示一個來自B網站的圖片鏈接。例如我們在自己的站點上面有一個鏈接如下:img src=http://www.xxx.com/yyy.gif/,那么在別人在瀏覽我們的站點的時候,就回去別人的那個站點(http://www.xxx.com/yyy.gif)去請求這個圖片,那么勢必會消耗他們的服務器的資源。發過來,如果別人在他們的站點上采用了我們的圖片或者其他的鏈接資料,那么用戶在瀏覽別人的站點的時候就會消耗我們站點的服務端資源和帶寬。

  為一個組件就可以阻止這種情況的發生:http://www.iis.NET/community/default.

ASPx?tabid=34i=1288g=6.大家去看看。

  驗證碼(CAPTCHA)

  我們常常在站點中加入一些驗證碼的功能來防止網絡注冊機。一般是生成一張有文字的圖片,然后根據驗證用戶輸入的文字和圖片中的文字是否一樣來判斷此時的用戶是人還是注冊機。

  通過驗證碼阻止了注冊機隨意的消耗站點資源(如果沒有驗證碼,注冊機可以不斷的注冊信息,大小服務器和數據庫資源,而且產生很多的垃圾數據)。

  我們自己寫生成驗證碼的程序,一般通過GDI+來做,同時也可以采用一些第三方的庫實現,例如:reCAPTCHA: http://recaptcha.NET/,大家上網找下,很多的。

  網絡刮刀(Scrapers)與Dos

  這個問題必須引起重視。如果我們的站點上面有很多的有用的信息,那么別人可能就可能開發一個程序來到我們的站點抓取信息,然后把這些內容放到自己的站點上面。例如,很多的內容型的站點每天都從博客園的首頁上面來抓取信息,然后放到他們的站點上,增加他們的訪問量。

  本來站點被搜索引擎抓就有點消耗性能了,如果還被很多的這樣的網絡刮刀來抓內容,對站點的性能影響可想而知。

  如果那些網絡刮刀程序的的IP地址變化不頻繁,而且請求我們站點的頻率比較的由規律,那么我們就可以采用一些代碼的方式來防止這樣的請求。例如,我們可以監測:同一個IP是否在20min之內發送了100個請求,如果是,我們就推測:可能是別人在抓我們的站點內容,我們就拒絕這個IP的請求。

  當然了,上面只是一些簡單的方法,對于一些復雜的Dos攻擊,上面的監測代碼基本沒有作用。因為Dos攻擊中,攻擊的IP地址是變化的。

  下面我們就寫一些代碼來防止簡單的網絡刮刀程序和簡單的Dos攻擊。基本的思想就是:如果在給定的時間段內,如果某個用戶的請求很多,超過了一定的數量,那么我們就認為這個用戶可能是網絡刮刀程序,然后就拒絕下面的請求,一段時間之后,再次允許這個從這個IP發出的請求。

  下面的代碼中:假設如果一個用戶在5秒之內發出了100個請求,那么我們就認為這是網絡刮刀程序或者是網站的攻擊者。當然,我們還考慮這個發送請求的用戶是否是搜索引擎的蜘蛛程序。(下面的代碼只是簡單作為演示,不是實際生產的代碼,拋磚引玉)

   1. private const int intervalSeconds = 30;  
2. private const int maxRequestsInInterval = 5;

NET技術構建高性能ASP.NET站點之減少不必要的請求,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲视频在线观看视频 | 亚洲欧美激情精品一区二区 | 欧美精品一区二区蜜臀亚洲 | 97在线观看成人免费视频 | 一边亲着一面膜下的免费过程 | 男人国产AV天堂WWW麻豆 | 青柠在线观看免费完整版 | 好男人WWW免费高清视频在线 | 色欲久久综合亚洲精品蜜桃 | 日韩亚洲中文欧美在线 | 久久精品亚洲精品国产欧美 | 亚洲国产精品一区二区动图 | 无码人妻精品一区二区蜜桃色 | 91麻豆国产精品91久久久 | 国产短视频精品区 | 久久精品国产福利电影网 | 老熟人老女人国产老太 | 欧美亚洲日韩在线在线影院 | 俄罗斯女肥臀大屁BBW | 掀开奶罩边躁狠狠躁软学生 | 黄片在线观看 | 久草大 | 久久AAAA片一区二区 | seyeye在清在线 | 国产亚洲欧洲日韩在线观看 | 国产传媒18精品A片在线观看 | 国产精品禁18久久久夂久 | 玖玖热视频一区二区人妻 | 亚洲 欧美 国产 综合五月天 | 羞羞影院男女爽爽影院尤物 | 欧美牲交A欧美牲交 | 亚洲精品视频免费观看 | 超碰人人澡人人胔 | 空姐内射出白浆10p 空姐厕所啪啪啪 | 国产无遮挡无码视频在线观看不卡 | 欧美激情一区二区三区四区 | 久久精品亚洲国产AV涩情 | 成年女人色毛片免费 | 国产伦精品一区二区三区免费观看 | 日本午夜视频在线 | 芒果影院网站在线观看 |