導航:首頁 > 配伺服器 > 如何優化項目伺服器

如何優化項目伺服器

發布時間:2023-04-18 08:41:07

㈠ 如何使伺服器性能優化

先閱讀apache配置優化建議如下,再對相關參數進行調整,觀察伺服器狀況.
Apache配置優化建議:
進入/usr/local/apache2/conf/extra目錄下
Apache優化,
經過上述操作後,Apache已經能夠正常運行。但是,對於訪問量稍大的站點,Apache的這些默認配置是無法滿足需求的,我們仍需調整Apache的一些參數,使Apache能夠在大訪問量環境下發揮出更好的性能。以下我們對Apache配置文件httpd.conf中對性能影響較大的參數進行一些說明。
(1)Timeout該參數指定Apache在接收請求或發送所請求內容之前的最長等待時間(秒),若超過該時間Apache則放棄處理該請求,並釋放連接。該參數默認值為120,推薦設置為60,對於訪問量較大的網站可以設置為30或15。
(2)KeepAlive該參數控制Apache是否允許在一個連接中有多個請求,默認打開。但對於大多數論壇類型站點來說,通常設置為off以關閉該支持。
(3)MPM-prefork.c在默認情況下Apache使用Prefork(進程)工作模式,可以說這部分的參數設置是對Apache性能影響的核心和關鍵。用戶可以在配置文檔中找到以下配置段:

㈡ 如何提升伺服器的速度

你好.我來解答下你的問題.

影響伺服器運行速度的因素是多方面的.比如說伺服器的配置.帶寬.所在機房網路環境.所用的網站程序.是否中病毒木馬等.如果你的伺服器是用的WIN系統.建議像平時優化自己電腦一樣.可以從以下幾個方面來優化提升性能:

一.藉助於一些電腦管家.安全衛士等軟體直接優化系統.

二.ASP的網站直接用IIS即可發布.不需要再配置PHP.NET等其他網站環境.安裝的資料庫太多也會降低伺服器性能.

三.建議沒用的軟體以及程序刪除掉.平時養成好的操作習慣.可以不用安裝殺軟.

四.定期更新系統補丁.並進行病毒和木馬的掃描.

五.平時留意CPU.內存.以及帶寬的佔用情況.當配置不夠用時及時升級.

海騰數據楊闖為你解答.希望以上回答對你有幫助.

㈢ VPS伺服器如何優化/加快網站的訪問速度

1、域名的解析
速率當用戶訪問你的網址時,率先會連接域名解析的服務商,服務商會返回IP地址,這里會存在延遲,當然,用戶短時間內再次訪問時因為緩存這里的延遲可以疏忽不計。
優化法子:放量使用智能解析服務商
2、連接你伺服器IP地址的延遲
域名服務商返回IP地址後,客戶再連接IP地址會存在延遲。
優化法子:使用離你目標客戶延遲小的伺服器,譬如國外美國主機偵探,可以挑選大陸vps或者香港vps。
3、站點伺服器的相應速率
客戶通過IP地址鏈接到伺服器並收回請求後,伺服器會處置請求,返回頁面數據,這里存在相應時間
優化方式:購置運算性能好的vps伺服器,譬如高性能cpu伺服器,多核等。
4、頁面數據的傳輸時間
伺服器返回的頁面數據傳輸到客戶的時間主要受3個要素的影響:伺服器上傳帶寬、客戶下行帶寬、網頁整體內容的巨細優化方式:一是挑選上傳寬頻大的vps伺服器再就是優化網頁內容,網頁代碼,壓縮圖片等等。

㈣ 當用戶過多時,如何對伺服器進行優化

這個問題有點搞笑!!!

用戶多,不代表你伺服器訪問量大,訪問量大不一定你伺服器壓力大!我們換成專業點的問題,高並發下怎麼優化能避免伺服器壓力過大?

1,整個架構:可採用分布式架構,利用微服務架構拆分服務部署在不同的服務節點,避免單節點宕機引起的服務不可用!

2,資料庫:採用主從復制,讀寫分離,甚至是分庫分表,表數據根據岩告陵查詢方式的不同採用不同的索引比如btree,hash,關鍵欄位加索引,sql避免復合函數,避免組合排序等,避免使用非索引欄位作為條件分組,排序等!減少交互次數,一定不要用select*!

3,加緩存:使用諸如memcache,redis,ehcache等緩存資料庫定義表,結果表等等,資料庫的中間數據放緩存,避免多次訪問修改表數據!登錄信息session等放緩存實現共享!諸如商品分類,省市區,年齡分類等不常改變的數據,放緩存,不要放資料庫!

同時要避免緩存雪崩和穿透等問題的出現導致緩存粗戚崩潰!

4,增量統計:不要實時統計大量的數據,應該採用晚間定時任務統計,增量統計等方式提前進行統計,避免實時統計的內存,CPU壓力!

5,加圖片伺服器:圖片等大文件,一定要單獨經過文件伺服器,避免IO速度對動態數據的影響!保證系統不會因為文件而崩潰!

6,HTML文件,枚舉,靜態的方法返回值等靜態化處理,放入緩存!

7,負載均衡:使用nginx等對訪問量過大的服務採用負載均衡,實現服務集群,提高服務的最大並發數,防止壓力過大導致單個服務的崩潰!

8,加入搜索引擎:對於sql中常出現的like,in等語句,使用lucence或者solr中間件,將必要的,依賴模糊搜索的欄位和數據使用搜索引擎進行存儲,提升搜索速度!#注意:全量數據和增量數據進行定時任務更新!

9,使用消息中間件:對服務之間的數據傳輸,使用諸如rabbitmq,kafka等等分布式消息隊列非同步傳輸,防止同步傳輸數據的阻塞和數據丟失!

10,拋棄tomcat:做web開發,接觸最早的應用伺服器就是tomcat了,但是tomcat的單個最大並發量只能不到1w!採取netty等actor模型的高性能應用伺服器!

11,多線程:現在的伺服器都是多核心處理模式,如果代碼採用單線程,同步方式處理,極大的浪費了CPU使用效率和執行時間!

12,避免阻塞:避免bio,blockingqueue等常常引起長久阻塞的技術,而改為nio等非同步處理機制!

13,CDN加速:如果訪問量實在過大,可根據請求來源採用CDN分流技術,避免大流量完成系統崩潰!

14,避免低效代碼:不要頻繁創建對象,引用,少用同步鎖,不要創建大量線程,不要友碰多層for循環!

還有更多的細節優化技術,暫時想不起來了!

㈤ 如何對伺服器進行性能優化

我對我的windows2000伺服器是如何進行性能優化的
1:我們知道,系統剛裝完之後,會存在很多無用的文件,這些文件都在winnt下面我們就對這些文件進行del,比如*.tmp、*.bak、*.log、*.old、*.txt甚至是作為桌面背景的*.bmp文件,help這個目錄下的,基本上也沒什麼用,反正伺服器上的help我是從來不去看它的!還有winnt\temp文件,是軟體安裝的過程序中,可能生成的臨時文件,如果沒用,就刪掉吧!然後清空回收站吧!
2:啟動和故障恢復選項,右擊我的電腦,選擇屬性\高級\啟動和故障恢復,將選擇操作系統列表前面的勾直接去掉好了,寫入調試信息,選擇無!
3:瀏覽器歷史記錄和緩存,可以通過點擊瀏覽器的「工具/Internet選項/常規/Internet臨時文件/刪除文件
4:(1)運行磁碟查錯的時候,請先把運行的程序關閉,打開「我的電腦」,右擊想要整理的硬碟驅動器,選擇「屬性/工具」,在查錯一欄中點擊「開始檢查」在進行磁碟檢查之前請確認「自動修復文件系統錯誤」和「掃描並試圖恢復壞扇區」這兩項被選中。
(2)碎片整理,請把所有運行的程序關閉,特別是屏幕保護、計劃任務、實時查殺毒軟體等等可能造成磁碟存儲數據變化的程序,然後打開「我的電腦」,右擊想要整理的硬碟驅動器,選擇「屬性/工具」,在「碎片整理」中選擇「開始整理」,你可以點擊「分析」按鈕讓系統分析你的硬碟的基本情況,然後告訴你的硬碟是否需要整理。如果需要整理,那麼你只要點擊「碎片整理」按鈕即可。整理的時間依據你的這個硬碟分區有多少簇來決定――不得不承認這個過程相當乏味、枯燥而且緩慢。所以你可以找具有類似功能的軟體比如諾頓工具箱中就有磁碟整理的組件、另外象Diskeeper、Vopt等等程序整理的效果也不錯(但是同windows自帶的磁碟整理軟體的效果仍然有差距),而且速度快。
5:硬碟驅動器設置,現在的硬碟一般都是支持DMA(Direct Memory Access:直接內存存取)模式,所以確保你的DMA硬碟(不管是DMA33/66/100)只要能正確的在DMA模式下工作,就能保證你的系統工作在比較高的效率之下。啟動DMA模式――點擊「開始/設置/控制面板/系統/硬體/設備管理器」,然後點擊「IDE ATA/ATAPI控制器」,右擊Primary IDE Channel,選擇「屬性/高級設置」在「傳送模式」中選擇DMA(若可用)。依據提示重新啟動計算機,你下次打開這個界面應該能看到「當前傳輸模式」中是DMA了。
6:關閉索引服務,關閉這項功能的方法是,打開我的電腦,右擊相應的硬碟驅動器分區圖標,選擇屬性,去掉「允許索引服務編制該磁碟的索引以便快速搜索文件」選項前的對鉤,點擊「應用」,就會出現是僅僅將屬性應用於這個分區的根目錄還是連同它下面的子文件夾和文件。選擇「將更改應用於<盤符>:\,子文件夾和文件」。然後點擊確定,等待系統自己處理完成就可以了。
7:自動關閉停止響應的程序,對於停止響應的程序,可以通過修改注冊表使得系統不再通知你,而是自動關閉――不再需要用戶的干預,從而提高工作效率。具體方法是,打開注冊表編輯器,找到如下鍵值:
HKEY_CURRENT_USER\Control Panel\Desktop,把AutoEndTasks修改為1。以後如果遇到停止響應的程序,系統就會自動中止它。
8:設置虛擬內存,我們應選擇優化後台服務
9:停止Win2000中不必要的服務,以下是我停掉的服務,大家可以參考一下!
服務名 簡介
COM+ Event System 提供事件的自動發布到訂閱 COM 組件
Computer Browser 維護網路上計算機的最新列表以及提供這個列表
Network Connections 管理「網路和撥號連接」文件夾中對象,在其中您可以查看區域網和遠程連接
Plug and Play 管理設備安裝以及配置,並且通知程序關於設備更改的情況
Protected Storage 提供對敏感數據(如私鑰)的保護性存儲,以便防止未授權的服務,過程或用戶對其的非法訪問(備註:缺少了此項後可能造成在IE中輸入文字後死機)
RusAs Service 在不同賃據下啟動過程服務
Remote Procere Call (RPC) 提供終結點映射程序(endpoint mapper)以及其它 RPC 服務
Security Accounts Manager 存儲本地用戶帳戶的安全信息
Server 提供 RPC 支持、文件、列印以及命名管道共享
Task Scheler允許程序在指定時間運行
Windows Management Instrumentation Driver Extensions 與驅動程序間交換系統管理信息

㈥ 假如公司的伺服器運行已經達到極限了,如何優化

系統服務和後台服務碰昌的優化Windows啟動時載入的東西太多:硬體的驅動、虛擬設備的程序、太多的後台服務,如果再加上一些無關緊要的程序,唉,能不慢嗎。還是把不是很必要的啟動項給關了吧。(1)看看你「開始」——「所有程序」——「啟動」裡面有東西嗎?把它刪了吧。(2)點擊「開始」——「運行」打開「運行」對話框,在裡面輸入「msconfig」(不包括外面的雙引號),點「確定」打開「系統配置實用程序」,點「啟動」打開「啟動」對話框,看到了吧,把沒必要的啟動項前面的勾點掉吧(除了微軟系統的文字輸入法控制和殺毒軟體、防火牆其他的都可以不選,當然一些主題的特效小程序或者其他你願意讓他自動啟動的程序你也可以保留,看你自己來衡量了)。最後點「確定」退出。十五、管理一下「日誌」文件,這也是盡最大努力節省系統盤空間。在桌面上右擊「我的電腦」——「屬性」——「管理」點「事件查看器」前面的「+」它,右擊「應用程序」點選「屬性」——「常規」,在「日誌大小」下面有「最大日誌文件大小(M)」後面的小對話框的右面點向下的箭頭,把數值改小點吧,個人認為4百至K6百K就夠用了,當然如果你不經常看這個日誌可以再小點;下面點選「改寫久於(V)」在右邊與上面方法類似,調成7天可以了。「事件查看器」中的「安全性」和「系統」兩個日誌文件,參考「應用程序」的改動方法做修改。十六、去掉任務欄里的「過去的項目」:在WindowsXP系統任務欄上單擊滑鼠右鍵選擇「屬性」,在「任務欄」的「通知區域」中勾選「隱藏不活動的圖標」,再點「自定義」,會彈出一個對話框,裡面有「當前項目」和「過去的項目」,該如何才能刪掉過去項目中的所有記錄呢?打開注冊表編輯器,定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\EXPlorer\TrayNotify,刪除右邊的IconStreams和PastIconsStream,然後打開任務管理器,切換到進程選項卡,找到並選擇EXPlorer.exe進程,點擊「結束進程」,然後點擊任務管理器的「文件→運行」,輸入eXPlorer,點擊確定即可。十七、關於後台服務的優化:這個本人不打算多說,給大家上傳一個系統服務優化的軟體,自己去衡量吧,畢竟每個人用電腦乾的事情不一樣。十八、為IRQ中斷請求排優先次序:(這一項是在網上復制下來的,既然那麼說了,我想肯定有用吧,反正我是照著這個改了,你嫌麻煩也可以不改的,也許影響不大。)這是一項非常有效的優化。計算機的每一個主要部件都設了個IRQ中斷號。這兄含里就是要通過修改每個IRQ請求的優先次序達到優化目的。這里主要的優化對象是系統/CMOS實時鍾,它通過主板來提升性能。首先,要確定你想要哪個組件獲得更高的性能,然後找到這個硬體正在使用的IRQ中斷號。怎麼找呢?打開控制面板里的系統屬性(也可以按鍵盤上的Windows+Break熱鍵組合打開它)。選中「硬體」選項卡,然後點擊「設備管理器」按鈕。右鍵點擊要查IRQ號的組件,選擇「屬性」,然後點擊「資源」選項卡。這里可以看到設備正在使用的IRQ中斷號(如果沒有IRQ中斷號,選擇另一個設備)。把中斷號記下來,然後運行注冊表編輯器regedit,找到注冊表中的HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\PriorityControl位置。我們要在這里建立一個名為IRQ#Priority(其中「#」是具體的IRQ中斷號)的DWORD雙位元組值,然後把它的值設為1。譬如說,我的系統CMOS實時鍾的IRQ中斷號是8,我要建立的鍵名就是IRQ8Priority。重新啟動計算機之後,就會發現剛優化過的組件性能有所提高笑塵扒。筆者強烈建議用這個方法優化系統CMOS實時鍾,因為它能改善整塊主板的性能。當然也可以把多個IRQ中斷號優先順序提高,但這樣做的效果沒那麼好,而且有可能造成系統不穩定。要把這個優化設置撤消的話,只要把剛才建立的注冊表鍵值刪掉就OK了。花了幾個小時把自己平時用的所謂的優化方式寫了下來,當然我不知道有沒有漏下的,有的話以後我想起來了再補上,不過已經夠多了哈。別嫌多,對你的電腦准有用!這只是經過個人實踐以及參照網上的經驗總結出來的,只是寫出來給大家看看,至於用不用那就看你自己了。電腦優化這個問題,怎麼說呢?你想經過優化讓自己的電腦性能有多麼大的提高那是不可能的,畢竟我們這些平民的電腦只能算是下等,你想讓它提高到哪去呢?所以所謂優化就是去掉一些自己不會用到的東西和一些垃圾罷了,別自己心愛的電腦天天在被折磨自己還不知道。如果說上面的優化見效最明顯的是什麼?那當然是開機速度了,嘿嘿,你不是想讓滾動條少轉嗎?那就如你所願吧!中間略了點,不過也可以讓你的電腦飛起來了!

㈦ 優化伺服器性能有哪些方法

我們知道,伺服器是用來提供各類服務的專業計算機,本質上和我們常規的電腦差不多,只不過它的配置更專業一些。不少人誤認為伺服器買來後弊仿布署下伺服器環境就行了,其實不是這樣的,伺服器如果不進行一些優化設置,那性能也得不到最大化發揮。

當你拿到伺服器後要進行哪些優化呢?大致可以從:伺服器硬體、系統設置、軟體環境優化三方面著手。

伺服器硬體優化方案

正常情況下伺服器硬體優化是在選購伺服器之前就定好,因為硬體優化起來是比較麻煩的。

伺服器內存越大越好、拿卜滲CPU核心數越多越好;

伺服器硬碟不要選擇機械硬碟,固態硬碟性能最好;如果預算有限,那建議是固態+機械硬碟組合使用,系統安裝在固態盤里;

關閉不必要的外設,如:光碟機、藍牙等。

伺服器系統優化方案

系統直接影響伺服器的性能及穩定性,首先要選擇合適的系統,然後再進行系統優化。

Linux類系統性能和穩定性要優於WindowsServer;

系統一定要安裝64位的,不要選擇32位系統;

Linux系統內核參數的優化,如:最大打開文件數限制、內核TCP參數等;

如果使用的是雲伺服器,則可以關閉伺服器上的默認防火牆,改用雲計算平台提供的在線防火牆;

關閉不必要的系統服務,如:列印服務;

精簡開機啟動服務等。

軟體環境優化

伺服器只是硬體,最終服消脊務的運行時環境還是靠伺服器端軟體來提供的,比如WEB伺服器就離不開:WEB容器(Nginx、Apache、Tomcat、IIS)、資料庫(MySQL、SQLServer)等支撐。下面總結一些軟體環境優化方案,可以滿足大多數伺服器的需要。

合理使用NoSQL等緩存,可以很大程度緩解後端資料庫的壓力;

對於高並發場景,考慮集群分布式部署;

資料庫量級很大時,就要考慮SQL優化:讀寫分離、慢查詢優化、合理索引等;

消息系統的合理使用等。

以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流~我是科技領域創作者,十年互聯網從業經驗,歡迎在線咨詢

㈧ 伺服器系統安裝應該做哪些優化

務器系統安裝優化:
1在安裝的時候選擇最小安裝
在安裝時候選擇Minimal,自定義工具可以有developmenttools 、debugging tools、base、改閉compatibliitylibraries
2 需要開啟的服務
sshd rsyslog network crond sysstat iptables 如果是web伺服器還要有apache
3.需要關閉的服務
關閉不需要的tty
Vi /etc/陸衫inittab 在前面加上#注釋掉多餘的
執行init q
關閉atime
vi /etc/fstab
在包含大量小文件的分區中使用noatime,nodiratime兩項
例如:
/dev/md5 /data/pics1 ext3noatime,nodiratime 0 0
4 需要優化的服務
優化sshd
X11Forwarding no //不進行x圖形的轉發
UseDNS no //不對IP地址做反向的解析
port 5 埠范圍早殲腔0-655535
Protocol 2
useDNS no DNS 內網連接都是ip 不用解析,速度會很快
permitrootlogin no 不允許root通過ssh 連接
listenaddress 改成伺服器的內網ip地址
GSSAPIAuthentication no 這個解決兩個機器之間連接慢的問題
PermitEmptyPasswords no
優化shell
# vi /etc/profile
找到 HISTSIZE=1000 改為HISTSIZE=100
然後 source /etc/profile
優化runlevel
vi/etc/inittab
id:3:initdefault:
讓伺服器運行X是沒有必要的
5 需要系統最小優化
.開機啟動最小化
操作命令最小化
.普通用戶許可權最小化
.Linux系統文件及目錄的許可權最小化
.登錄Linux用戶最小化,平時沒有需求root用戶,絕對不用root賬號登錄

㈨ 1 如何優化Tomcat

(1)bin:主要用來存放命令,.bat是windows下,.sh是Linux下
(2)conf:主要用來存放tomcat的一些配置文件
(3)lib:存放tomcat依賴的一些jar包
(4)logs:存放tomcat在運行時產生的日誌文件
(5)temp:存放運殲耐困行時產生的臨時文件
(6)webapps:存放應用程序
(7)work:存放tomcat運行時編譯後的文件,比如JSP編譯後的文件

tomcat優化可以有幾個方向:配置項的刪除,配置參數的修改,jdk參數修改、Tomcat內存優化、Tomcat並發優化、Tomcat緩存優化

web項目中自帶的WEB-INF/web.xml,
tomcat自帶的conf/web.xml以及conf/server.xml文件。
因為這些xml文件都會被tomcat解析,所以優化方向是將這三類文件中不必要的配置刪除。

tomcat在啟動時,會將web項目中WEB-INF/web.xml和自己的conf/web.xml進行合並,然後在ContextConfig類下的configureContext()統一解析這些內容:

這個只能是在項目中不需要的配置不要放進去,有過期的配置要及時刪除,減少tomcat的解析成本。

這是一個處理靜態文件的servlet,如果項目中不需要tomcat進行靜態文件的處理,可以將其刪掉。

這個servlet是用來編譯和執行jsp文件的,如果項目中沒有jsp文件,可以將其刪掉。

項目中沒有jsp,關於jsp下面的映射也可以刪除:

文件中提供的mime類型非常多,如果有確定項目中不會涉及到的類型,可以刪除其映射配置。

如果不需要展示tomcat的歡迎頁,可以將其刪掉。

下面是tomcat8.5版本提供的默認listener列表:

作用是在Tomcat初始化時,列印一下Tomcat相關的版本信息以及操作系統和jdk環境畝銷信息,可以刪掉。

Tomcat啟動時,檢查APR庫,如果存在則載入,這個配置僅當connector的protocol設置為AJP/1.3時有用,如果非AJP/1.3,可以刪除。

java運行環境可能導致某些已知位置的內存泄漏或文件鎖定,
提供這些情況的解決方案。

作用於全局資源,通氏念過該監聽器,初始化標簽中定義的全局JNDI資源;
如果沒有該監聽器,定義的全局資源都不能使用。
如果不使用GlobalNamingResources定義全局資源,可以刪除。

Web應用因thread-local導致的內存泄露而要停止時,該監聽器會觸發線程池中線程的更新。
只有當Web應用(即Context元素)的屬性設置為true時,該監聽器才有效。
官方文檔對配置的解釋為:

GlobalNamingResources可以定義全局資源,可以看出,這個tomcat的默認配置是通過讀取$TOMCAT_HOME/ conf/tomcat-users.xml實現的。
tomcat-user.xml用於定義tomcat管理頁面相關配置,如果不登錄管理界面可以刪掉。

官網中對於這個connector有如下描述:
The AJP Connector element represents a Connector component that communicates with a web connector via the AJP protocol. This is used for cases where you wish to invisibly integrate Tomcat into an existing (or new) Apache installation, and you want Apache to handle the static content contained in the web application, and/or utilize Apache's SSL processing.
可知當tomcat需要集成到Apache伺服器時才使用這個connector,現在一般都用Nginx代替Apache,所以不使用Apache的話這個也可以刪掉。

tomcat默認配置包含如下connector:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Realm,可以把它理解成「域」;
Realm提供了一種用戶密碼與web應用的映射關系,從而達到角色安全管理的作用,tomcat默認的這個realm是和name為UserDatabase的資源綁定的,而該資源在Server元素中使用GlobalNamingResources配置。如果不需要可以刪掉。

Valve的意思是「閥門」,不同的Valve有不同的特性,Valve的配置中AccessLogValve的作用是記錄其所在容器處理的所有請求,默認配置中的Valve放在Host下,便可以記錄該Host處理的所有請求。
AccessLogValve記錄的日誌就是訪問日誌,每天的請求會寫到一個日誌文件里。現在一般記錄Nginx訪問日誌,這個也可以刪除。

tomcat是用Java寫的,就要運行在jvm上,垃圾處理方式等都要遵循jvm的方式。
tomcat中設置jvm參數在 catalina.sh(Linux)和catalina.bat(windows)中,以JAVA_OPTS變數存儲。以catalina.sh為例:

可以在該變數中添加jvm參數,達到減少gc次數等目標,例如根據tomcat所在伺服器修改jvm內存大小等。

參數優化主要是優化sever.xml中的配置參數,示例server.xml如下:

port:指定一個埠,這個埠負責監聽關閉tomcat的請求。
shutdown:指定向埠發送的命令字元串。
sever配置沒什麼可優化的。

name:指定service的名字。
service配置沒什麼可優化的。

port:指定伺服器端要創建的埠號,並在這個埠監聽來自客戶端的請求
minProcessors:伺服器啟動時創建的處理請求的線程數
maxProcessors:最大可以創建的處理請求的線程數
enableLookups:如果為true,則可以通過調用request.getRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址
redirectPort:指定伺服器正在處理http請求時收到了一個SSL傳輸請求後重定向的埠號
acceptCount:指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理
maxConnections:達到這個值之後,將繼續接受連接,但是不處理,能繼續接受多少根據acceptCount的值
minSpareThreads:最小空閑線程數
connectionTimeout:指定超時的時間數(以毫秒為單位)
官網8.5版本connector使用連接類型如下:

查看Connector源碼:

可知默認協議使用的是Http11NioProtocol,即NIO方式。
tomcat默認連接池有限制,可以為connector配置自己的連接池,例如:

在連接池中可以根據項目自定義最大線程數量。

name:屬性用於日誌和錯誤信息,在整個Server中應該唯一
defaultHost:defaultHost屬性指定了默認的host名稱,當發往本機的請求指定的host名稱不存在時,一律使用defaultHost指定的host進行處理;因此defaultHost的值,必須與Engine中的一個Host組件的name屬性值匹配
沒什麼可優化的。

name:指定虛擬主機的主機名,一個Engine中有且僅有一個Host組件的name屬性與Engine組件的defaultHost屬性相匹配;
註:一般情況下,主機名需要是在DNS伺服器中注冊的網路名,但是Engine指定的defaultHost不需要

appBase:應用程序基本目錄,即存放應用程序的目錄

unpackWARs:指定了是否將war文件解壓,如果為true,則通過解壓後的目錄運行該Web應用;如果為false,則直接使用WAR文件運行Web應用

autoDeploy:是否自動部署,Tomcat運行期間會用一個線程定時檢查,如果有新的web工程會自動部署。
autoDeploy生產環境之下可以改成false,減少tomcat的負擔。
autoDeploy有需要注意的點,如果為true,拷貝war到webapp下面,tomcat自動解壓並部署。但是停掉tomcat拷貝新的war包過去,tomcat不會解壓新包並後覆蓋舊目錄,因為tomcat直接使用了之前解壓過的目錄。官網有描述:
If you redeploy an updated WAR file, be sure to delete the expanded directory when restarting Tomcat, so that the updated WAR file will be re-expanded (note that the auto deployer, if enabled, will automatically expand the updated WAR file once the previously expanded directory is removed).

docBase:代表應用程序或war文件存放的路徑,這個可以自由指定,例如d:/study

path:

表示此web應用程序的url的前綴,這樣請求的url為 http://localhost:8080/path/ **

reloadable:如果為true,則tomcat會自動檢測應用程序的/WEB-INF/lib和/WEB-INF/classes目錄的變化,自動裝載新的應用程序,可以在不重起tomcat的情況下改變應用程序

生產環境中可以把reloadable設置為false。

className:指定Realm使用的類名,此類必須實現org.apache.catalina.Realm介面
沒什麼可優化的

className:規定了Valve的類型;例如tomcat默認的是AccessLogValve。
directory:指定日誌存儲的位置,默認日誌存儲在 TOMCAT_HOME/logs目錄下,可以看到如下所示的日誌文件。
沒什麼可優化的。

Tomcat內存優化主要是對 tomcat 啟動參數優化,我們可以在 tomcat 的啟動腳本 catalina.sh 中設置 java_OPTS 參數。

現公司伺服器內存一般都可以加到最大2G ,所以可以採取以下配置:
JAVA_OPTS=』-Xms1024m -Xmx2048m -XX: PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m』

配置完成後可重啟Tomcat ,通過以下命令進行查看配置是否生效:
首先查看Tomcat 進程號:sudo lsof -i:9027

我們可以看到Tomcat 進程號是 12222 。
查看是否配置生效:sudo jmap – heap 12222
我們可以看到MaxHeapSize 等參數已經生效。

在Tomcat 配置文件 server.xml 中的
<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
minProcessors="100"
maxProcessors="1000"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>

maxThreads 客戶請求最大線程數
minSpareThreads Tomcat初始化時創建的 socket 線程數
maxSpareThreads Tomcat連接器的最大空閑 socket 線程數
enableLookups 若設為true, 則支持域名解析,可把 ip 地址解析為主機名
redirectPort 在需要基於安全通道的場合,把客戶請求轉發到基於SSL 的 redirectPort 埠
acceptAccount 監聽埠隊列最大數,滿了之後客戶請求會被拒絕(不能小於maxSpareThreads )
connectionTimeout 連接超時
minProcessors 伺服器創建時的最小處理線程數
maxProcessors 伺服器同時最大處理線程數
URIEncoding URL統一編碼

compression 打開壓縮功能
compressionMinSize 啟用壓縮的輸出內容大小,這裡面默認為2KB
compressableMimeType 壓縮類型
connectionTimeout 定義建立客戶連接超時的時間. 如果為 -1, 表示不限制建立客戶連接的時間

㈩ WEB伺服器的優化方法簡介

WEB伺服器的優化方法簡介

在對Web伺服器進行優化時要根據真實的Web應用系統的情況和特徵來採取有針對性地優化方案。首先根據不同的網路特性來看:在區域網中,降低M T U (最大傳輸單位)值對可以避免復制數據和求校驗,而通過優化select系統調用或在Socket事件處理器中執行計算可以優化請求並發管理,利用HTTP1.1持續連接等都可以使系統性能得到相應的改善,但在廣域網的環境下卻沒有什麼大的作用,有的甚至恰恰相反。

例如:減少用戶連接的MTU會增加伺服器處理開銷,採用網路延遲、帶寬限制和使用HTTP1.1的持續連接在廣域網中不會對伺服器性能有什麼大的影響。在廣域網中,終端用戶的請求的等待時間依賴於與網路延遲的程度,連接帶寬限制情況。對於廣域網,軟硬中斷在網路處理中佔有很大的分量,所以採用適應的中斷處理機制將會給伺服器的響應能力帶來很大的`好處;將伺服器定位在內核和將基於進程設計改為基於事務處理也可以不同程度的提高伺服器的性能。

關於Web負載,除了對Web負載的特徵進行分析以便在評測時更好地再現真實負載之外,還要考慮Web伺服器所在的網路環境下負載的情況。人們不僅要求伺服器滿足正常的工作負載要求,而且在高峰時期依然要保持較高的吞吐量。但是,伺服器在高負載的情況下的性能表現往往低於人們的期望。

伺服器過載的情況分為兩種:一種為瞬間過載,即伺服器暫時的、短時間的超載,這種情況主要是由慎乎畢伺服器負載的特點引起的。大量的研究表明,Web請求的網路通信量分布是自相似的,即Web請求的通信量可以在很大范圍內有顯著的變化。這就造成伺服器常常短時間的超載,但頃橋這樣情況持續的時間一般很短。一種是伺服器長時間的超載,這種情況一般是由某一特殊事件引起的,例如伺服器受到拒絕服務攻擊或者發生了「活鎖現象。

第一種伺服器超載情況是不可避免的,但第二種情況則可以通過對伺服器改進來改善。拋開惡意的攻擊不算,仔細分析伺服器處理信息寬芹包的過程可以發現,造成系統在超載情況下性能下降的根本原因是高優先順序處理階段對CPU的不公平搶占。

因此,如果限制高優先順序處理階段對CPU的佔用率,或者限制處理高優先順序的CPU個數,都可以減輕或者消除收包活鎖現象。具體的可以採用以下的方法:

一、採用輪詢機制。為了減少中斷對系統性能的影響,在負載正常的情況下採用「下半處理 的方法就非常有效,而在高負荷情況下,採用這個方法仍然會造成活鎖現象,這時可以採用輪詢機制。雖然這個方法在負載正常的情況下會造成資源的浪費和響應速度降低,但在網路數據頻繁到達伺服器時就要比中斷驅動技術有效的多。

二、減少上下文切換。這種方法不管伺服器在什麼情況下對性能改善都很有效,這時可以採用引入核心級(kerne1—leve1)或硬體級數據流的方法來達到這個目的。核心級數據流是將數據從源通過系統匯流排進行轉發而不需要使數據經過應用程序進程,這個過程中因為數據在內存中,因此需要CPU操作數據。

硬體級數據流則是將數據從源通過私有數據匯流排或是雖等DMA通過系統匯流排進行轉發而不需要使數據經過應用程序進程,這個過程不需要CPU操作數據。這樣在數據傳輸過程中不需要用戶線程的介入,減少了數據被拷貝的次數,減少了上下文切換的開銷。

三、減低中斷的頻率(主要是針對高負荷情況的方法)。這里主要有兩種方法:批中斷和暫時關閉中斷。批中斷可以在超載時有效的抑制活鎖現象,但對伺服器的性能沒有什麼根本性的改進;當系統出現接收活鎖跡象時,可以採用暫時關閉中斷的方法來緩和系統的負擔,當系統緩存再次可用時可以再打開中斷,但這種方法在接收緩存不夠大的情況下會造成數據包丟失。

Web伺服器性能是整個Web系統的關鍵環節,提高Web伺服器的性能也是長久以來人們一直關注的課題。這里通過對Web伺服器的工作原理和現有的優化方法和技術的分析,得出了對待Web伺服器性能的提高也應該具體問題具體分析,要在具體的應用環境中,根據其特點來採取相應的優化措施。 ;

閱讀全文

與如何優化項目伺服器相關的資料

熱點內容
cmd退出python命令 瀏覽:529
恢復u盤加密隱藏的文件 瀏覽:921
對某個人加密應該用公鑰 瀏覽:998
機頂盒中央1加密 瀏覽:95
單片機的出現有什麼影響 瀏覽:227
linuxtar備份系統 瀏覽:63
窗口滑鼠錄制編譯 瀏覽:84
雲伺服器可以攻擊嗎 瀏覽:558
主力吸籌派發區域指標源碼 瀏覽:695
單片機pc的低位元組怎麼算 瀏覽:230
pythoneval函數源碼 瀏覽:242
linuxmongodb服務啟動 瀏覽:766
在哪裡下載核酸檢測app 瀏覽:310
esxi啟動虛擬機命令 瀏覽:969
軍工級單片機 瀏覽:113
伺服器安全保護是什麼意思 瀏覽:789
刪除運行命令 瀏覽:720
龍之召喚伺服器如何 瀏覽:119
linux目錄跳轉 瀏覽:368
程序員和老闆稱兄道弟 瀏覽:759