日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

系统优化之旅

發(fā)布時間:2024/4/14 windows 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 系统优化之旅 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

經過了半年緊張而蛋疼的開發(fā)歷程,項目終于走上正軌;測試組也招了,UI也招了,而項目需求也暫時沒有大的改動了。

在此風平浪靜的階段,項目也啟動了壓力測試。做了幾年的.Net開發(fā),倒還真沒有應對過高并發(fā)的場景,如今這也算是機會與挑戰(zhàn)同時到來吧。

?


?

①測試第一回合

  簡直是讓我無地自容的結果:200個并發(fā)登錄操作,成功率不足50%!真是日了狗。

程序的優(yōu)化我是做了的,自認為這一塊已經沒有效率低下的代碼了,可是這。。

  解決:首先想的是IIS中的最大并發(fā)連接數,看了一下,默認的數值就已經相當的大了。(當然 IIS的最大并發(fā)連接數是可以通過配置來實現更大的并發(fā)連接數的)

既然不是IIS的連接數限制,那數據庫的又如何呢?

查看了一下數據庫連接字符串,沒有發(fā)現關于最大連接池數的設定,默認是100,那這就肯定是問題之一了!

②測試第二回合

添加了Max Pool Size后,又進行了一遍并發(fā)測試,結果固然是比第一次有提升,但僅是將將達到50%成功率而已。

既然不是受到并發(fā)數量的限制,那應該就是效率的問題了。一瞬間忽然想到前期光顧著開發(fā),根本沒有想過優(yōu)化,也沒有想過高并發(fā)的情況,數據庫里索引之類的都沒有加。

找到登錄用到的幾個表,根據查詢條件添加了非聚集索引。再次開啟測試

查閱的關于索引的文章??

③測試第三回合

這次用了5000的并發(fā)(單純的執(zhí)行登錄相關方法)成功率100%!

終于松了一口氣。無意中看到了記錄日志的方法(登錄之類的行為,以及錯誤都會有日志保存到數據庫),想到這個地方也許也可以優(yōu)化吧,畢竟日志用到的地方還是蠻多的

記錄日志內執(zhí)行的內容倒是很少,只有一個入庫操作,但是因為記錄日志跟業(yè)務代碼的執(zhí)行無關,所以如果異步執(zhí)行的話,應該也能提高不少效率。

稍作了下修改,再用VS的【性能和診斷】試了1000的并發(fā)。跟預想的一樣

后臺的優(yōu)化自此就告一段落

④測試第四回合

這回讓測試組再用500并發(fā)測一下整個操作

每五秒3個并發(fā),就這頻率,失敗率還是居高不下,差不多30%,進行到一半后,CPU占用率急劇增長,很快達到100%,然后就是服務器崩掉。

查看了一下線程的CPU占用情況,看到是網站應用的CPU使用率達到了99%。

初步判斷的是并發(fā)訪問頁面導致大量的靜態(tài)文件加載從而造成這個問題。好,那就做靜態(tài)資源服務器。

把系統(tǒng)使用的靜態(tài)資源放到一個新站點下,把登陸頁和首頁用到的js、css、img的URL都手動改成絕對路徑(即靜態(tài)資源服務器中對應的URL)。修改路徑這個操作是可以簡化的,接下來的一段時間我使用FIS3來完成這些事情。

注意:

把文件放到單獨的靜態(tài)資源服務器上也產生了點小問題,通過控制臺發(fā)現 有些文件沒有獲取到,如.woff的字體文件。這需要在IIS中添加對應的MIME類型,同時還要針對跨域添加HTTP響應標頭?

Access-Control-Allow-Origin:*

?一切就緒,重新發(fā)布。

?

⑤測試第五回合

這回并發(fā)成功率的提升并沒有太大,不過CPU使用率恢復了正常,完全沒有因并發(fā)而產生太大的起伏。

----------------------------------------------------------------------------------------------------------

事情到此就暫告一段落了。接下來的時間就是優(yōu)化前端了

因為我發(fā)現就算是使用了靜態(tài)文件服務器,有些事情完成的還不是很理想,

一是文件的本地緩存做的不好,導致刷新頁面的話,仍然要從服務器下載或者發(fā)請求

二是加載文件的整個過程耗時過長(相對)

?

接下來的時間就一直追蹤這兩個問題點處理方式。

開始的時候發(fā)現在所有的請求中 Response Header里的Cache-Control都是no-cache。

這導致任何時候都要去服務器去資源。試了各種方法各種百度也沒找到。最后發(fā)現dudu的一篇文章解決了這個問題

http://www.cnblogs.com/dudu/p/iis_user-mode_caching_cache-control_public.html。

此外?還是用了大百度的FIS3前端解決方案來做腳本和樣式表的合并、壓縮,雪碧圖的合并,靜態(tài)文件名的變更等等操作。

?

⑥反向代理

通過使用反向代理緩沖服務器減輕資源服務器的壓力。?

?

至此系統(tǒng)優(yōu)化就暫告一段落了。

轉載于:https://www.cnblogs.com/TiestoRay/p/4718370.html

總結

以上是生活随笔為你收集整理的系统优化之旅的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。