web server 考慮的問題

2021-06-08 21:29:46 字數 1287 閱讀 1141

高併發web伺服器處理

一.html靜態化

效率最高、消耗最小的就是純靜態化的html頁面,所以我們盡可能使我們的**上的頁面採用靜態頁面來實現,如使用資訊發布系統cms

二.伺服器分離

對於web伺服器來說,不管是apache、iis還是其他容器,是最消耗資源的,於是我們有必要將與頁面進行分離,

在處理靜態頁面或者、js等訪問方面,可以考慮使用lighttpd[注意盡量使用linux或unix系統

]代替apache或iis,它提供了更輕量級和更高效的處理能力。

當然也可以考慮使用cdn內容分發技術來優化,注意使用版本號來控制,使其達到即時更新.

三. 資料庫優化

a.硬體優化

資料庫和應用程式分離,合理使用raid,及增加相應記憶體和cpu

b. 查詢優化

1.增加合理索引,適當使用引起鎖的操作

2.盡量使用sarg搜尋引數標準,有效使用索引。[部分非sarg語句無法使用索引]

3.適度使用游標,盡量考慮集合式操作。[鎖]

4.謹慎使用事務,事務盡量不要使用過多的查詢。[鎖]

5.盡量使用儲存過程,盡量不要使用動態執行sql語句(重用執行計畫及預編譯)

c. 從應用程式的角度來考慮改善系統架構,

1.不同的模組對應不同的表,如新聞中如資料量大的話,每個分類使用乙個表。

2.按時間對錶進行劃分,將表放在不同的資料庫伺服器,提取時從每台伺服器提取,然後合併。

3.按使用者id對使用者資料進行劃分,針對不同使用者id呼叫不同資料庫的資料

4. 讀寫資料庫分離,如一台資料庫主要負責寫[不加索引],另外一台資料庫主要負責讀[新增索引]

四、快取

a.asp.net使用者控制項快取 outputcache
b.對共享資料使用cache(1:檔案,2:資料庫[sql2005]  3:時間限制)

c.對多台web應用伺服器可考慮使用分布式快取,如:memcached等

五、負載均衡終極優化手段

a. http重定向實現負載均衡,

b.dns負載均衡

原理:利用網域名稱到ip位址的對映可以是一對多的,利用a記錄的輪詢來隨機挑選乙個伺服器來訪問。

缺點:當某台伺服器出現故障,可能會導致部分使用者無法訪問,因為dns更新不能及時,並且不能很好對伺服器工作量進行均衡分配。

c.反向**負載均衡

使用一台專門的**伺服器來分配任務,由其決定使後端的哪台伺服器,可以均衡的分配工作量,真正達到均衡。

如:nginx**伺服器

d.ip負載均衡

利用nat伺服器實現互載均衡

考慮中的問題

精力有限,腦海有乙個閃現,但是有沒精力解決的問題先寄放在這裡。1.希望登入linux版的搜狗輸入法。2.linux翻牆。3.資料庫安全操作,安全查詢。4.顏色那點事 尚且需要完善 5.linux ubuntu 常用命令收集。並解釋。6.linux ubuntu 能否用圖形介面直觀檢視檔案目錄結構。7...

輕量級的web server

web介面是乙個應用系統常用的介面,本文所說的輕量級的web server是指應用系統不以web訪問為主,web介面提供輔助作用,例如,修改配置等,此時,對web server的要求是程式簡單 無或者很輕的併發 能嵌入到應用中最好。linux上nginx的安裝依賴於pcre,這是乙個與perl相容的...

基於uClinux的Web Server的實現

隨著個人電腦和網際網路的迅速發展,嵌入式系統的開發也變的越來越流行,而基於linux的嵌入式作業系統的開發已經越來越受到人們的關注。uclinux是一款專門用於微型控制領域的嵌入式linux作業系統。它已經被成功地移植到了很多平台上。這裡主要以uclinux嵌入式作業系統為例來介紹嵌入式作業系統的有...