❶ 如何讓伺服器發揮更多性能
畫網格?
有些科學計算軟體是利用 顯卡 來做計算的。 比如CUDA
❷ 怎樣提高Windows伺服器性能
這里有許多你只需要做簡單的操作就能對提高伺服器的性能有所幫助。所有的這些都不可能對移動頁文件到一個指定磁碟有什麼異常情況發生,盡管大多數的操作需要手動完成,但是這些所有的技巧都能夠顯著地提高伺服器的性能。
大多數討論關於優化伺服器性能的文章都會集中在使用性能監視器來尋找性能瓶頸問題。性能監視器對於如何提高伺服器性能來說,確實是一個優秀的工具。但是,使用性能監視器,是需要用戶必須了解性能監視器中產生的數據都是些什麼意思。
那麼,這里有十項能夠幫助你做提高伺服器性能的事情
1.為頁文件使用專用磁碟
這項技巧可能是最大限度的提高你伺服器性能的方法。默認情況下,Windows創建一個頁文件,將它作為虛擬內存。因為Windows會頻繁的使用這個文件。這個文件最好的存儲位置就是在一個專門磁碟上(注意:不是單獨卷)。伺服器性能做這些會確保Windows在讀取頁文件數據前,而將不需等待其他的應用使用硬碟完成。
2.保證你的硬碟定期運行磁碟碎片整理程序伺服器性能
現今的磁碟在執行連續不斷的讀取時,其實是很快的。然而,當磁碟被請求去讀取散亂存放的數據時,Windows的性能就會下降。通過運行磁碟碎片整理程序,你能夠確保文件能以順序的方式而不是雜亂無章的存放在磁碟上,從而,你的計算機將會高效地讀取文件。
3.使用NTFS文件系統
盡管對於Windows伺服器版本操作系統來說,NTFS是默認的文件系統,Windows是支持使用FAT和FAT-32文件系統的。我讀過的每一本MSCE培訓教程推薦使用NTFS文件系統是因為它比FAT和FAT-32文件系統使用中更安全。伺服器性能但是這些書籍中都沒有提及NTFS是一種基於處理(transaction-based)的文件系統。這就意味著相比較FAT和FAT-32文件系統而言,NTFS文件系統更快。
4.避免運行16-位應用
64位Windows操作系統根本不能夠運行16位應用,所以說這一項對於64位操作系統來說並不是個問題。但是,32位Windows操作系統將會運行16位應用。使用多任務處理模式的Windows更多的使用16位應用。伺服器性能討論Windows的多任務處理使用16位應用將需要單獨開篇說明,但是可以確定的說,運行16位應用會對降低性能。
5.查找內存泄漏(memory leaks)
內存泄漏很難被寫成是一個應用上的問題。通常情況下,它會為一個應用去在一個需要的基礎上請求操作系統中的內存。典型的是,當應用不再被運行時,它將會把內存釋放給操作系統。如果一個應用包括了一個內存泄漏,當它被運行時,將會向內存發出請求,但是當使用完畢後,釋放內存是失敗的。伺服器性能當下一次應用需要內存時,它將會向Windows要求的內存數比上一次要多。長此以往,Windows能夠為其他的應用提供的內存數將會越來越少。
最初,內存泄漏對系統性能的影響是可以忽略不計的,但是當這樣的泄漏變得越來越多的時候,它對系統性能的影響就會凸現出來。
盡管我曾經說過我不會在這篇文章中討論性能監控器,但是對於查找內存泄漏來說,性能監控器是最佳工具。
6.移除那些極少使用的組件
我曾經購買的每一台伺服器上都會裝上各種各樣的監控或者日誌組件。如果你能夠有計劃有規律的使用這些組件的話,在計算機上安裝這些組件算不得什麼不正確的選擇。伺服器性能但是令我吃驚的是有很多系統管理員安裝(或者從不移除)那些伺服器上的組件,並且實際上除了浪費系統資源外,它們甚至從來沒被運行過。
7.停止運行那些不使用的服務
在一篇類似的文章中,我也推薦瀏覽服務控制管理器,並關閉那些沒有被用到的服務。這樣不但能夠提高我們的伺服器性能,另外它也可以提高伺服器的安全性。計算機有一條法則描述了被執行的代碼越多,代碼中包含的不安全因素的機會就會增多。通過關閉那些不使用的服務,你做得即是減少執行代碼的大小,從而降低伺服器包含的安全漏洞被利用的機會。
8.注銷
這是另一個你能夠提高伺服器安全和性能的方法。當你不再使用控制台的時候,出於安全原因考慮,你應該進行注銷操作。伺服器性能 同時,在你登陸時,Windows將會載入你的用戶屬性,這將會消耗內存和CPU。
9.壓縮磁碟
當微軟發布MS-DOS5.0時,它們介紹了其磁碟壓縮的特色功能。當時的情況是讓硬碟或者軟盤能夠通過壓縮功能存儲更多的數據。當我試著使用磁碟壓縮技術,這時,我的計算機運行就慢了下來,我就改回使用一個沒有壓縮的磁碟,並且直到最近再沒有使用過壓縮。
現在,在正常的情況下,壓縮確實能夠提高系統性能。在一台計算機中,硬碟算得上是運行最慢的部分了。然而,如果你能夠壓縮一個文件,你就是減少了它的物理大小,這也將會減少從硬碟中讀取它的時間量。
同時,一個壓縮文件必須在它從磁碟讀取後被解壓。解壓操作通常是佔用內存,並且進程會附帶的使用一些CPU時間。如果你的伺服器運行一個磁碟加強的應用來解決大量的分散文件(不是一個資料庫),執行壓縮能夠提高系統性能。
10.調整伺服器響應
與個人計算機不同的是伺服器並不總是從伺服器的控制台那裡運行應用。那麼,最優化伺服器是將獲得優先權的應用到後台執行。
你可以通過打開伺服器的控制面板,並雙擊系統圖標。當窗口中顯示系統屬性標簽時,轉到「高級」標簽項,找到性能設置部分,並點擊設置按鈕。窗口中將會顯示性能選項屬性標簽。轉到屬性標簽中的高級選項,並確定伺服器設置為後台服務的最佳性能。
❸ 如何使伺服器性能優化
先閱讀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性能影響的核心和關鍵。用戶可以在配置文檔中找到以下配置段:
❹ 如何對伺服器進行性能優化
我對我的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 與驅動程序間交換系統管理信息
❺ 如何設計高並發的伺服器,如何提升伺服器性能
你可以去伺服器廠商(正睿)的網上,將需求說明一下,讓對方給你產品配置方案(這點很重要),然後可以將參數和配置與其他品牌產品進行比較,找到最優性價比的產品。
❻ 如何提高伺服器的性能
伺服器硬碟掛台式機主板不知道你掛的是什麼硬碟,應該是SATA的7200轉。在存儲速度和性能上跟你在台式機上的一樣不會有提升。你這樣做只是增加硬碟空間而以
❼ 怎樣提高IIS伺服器性能,加快伺服器速度
1、應該分配和釋放多個對象
你應該盡量避免過量分配內存,因為內存分配可能是代價高昂的。釋放內存塊可能更昂貴,因為大多數分配算符總是企圖連接臨近的已釋放的內存塊成為更大的塊。直到Windows NT? 4.0 service pack 4.0,在多線程處理中,系統堆通常都運行得很糟。堆被一個全局鎖保護,並且在多處理器系統上是不可擴展的。
2.不應該考慮使用處理器高速緩存
大多數人都知道由虛擬內存子系統導致的hard 頁錯誤代價很高,最好避免。但是許多人認為其他內存訪問方法沒有什麼區別。自從80486以後,這一觀點就不對了。現代的CPUs比RAM要快得多,RAM至少需要兩級內存緩存 ,高速L1 緩存能保存8KB數據和8KB指令,而較慢的L2 緩存能保存幾百KB的數據和代碼,這些數據和代碼混合在一起。L1 緩存中內存區域的一個引用需要一個時鍾周期,L2 緩存的引用需要4到7個時鍾周期,而主內存的引用需要許多個處理器時鍾周期。後一數字不久將會超過100個時鍾周期。在許多方面,緩存像一個小型的,高速的,虛擬內存系統。
至於和緩存有關的基本內存單元不是位元組而是緩存列。Pentium 緩存列有32個位元組寬。Alpha 緩存列有64個位元組寬。這意味著在L1 緩存中只有512個slot給代碼和數據。如果多個數據一起使用(時間位置)而並不存儲在一起(空間位置),性能會很差。數組的空間位置很好,而相互連接的列表和其他基於指針的數據結構的位置往往很差。
把數據打包到同一個緩存列中通常會有利於提高性能,但是它也會破壞多處理器系統的性能。內存子系統很難協調處理器間的緩存。如果一個被所有處理器使用的只讀數據,和一個由一個處理器使用並頻繁更新的數據共享一個緩存 列,那麼緩存將會花費很長時間更新這個緩存列的拷貝。這個Ping-Pong高速游戲通常被稱為"緩存 sloshing"。如果只讀數據在一個不同的緩存 列中,就可以避免sloshing。
對代碼進行空間優化比進行速度優化效率更高。代碼越少,代碼所佔的頁也越少,這樣需要的運行設置和產生的頁錯誤也會更少,同時占據的緩存 列也會更少。然而,某些核心函數應該進行速度優化。可以利用profiler去識別這些函數。
3.決不要緩存頻繁使用的數據。
軟體緩存可以被各種應用程序使用。當一個計算代價很高時,你會保存結果的一個拷貝。這是一個典型的時空折中方法:犧牲一些存儲空間以節省時間。如果做得好,這種方法可能非常有效。
你必須正確地進行緩存。如果緩存了錯誤數據,就會浪費存儲空間。如果緩存得太多,其他操作可以使用的內存將會很少。如果緩存得太少,效率又會很低,因為你必須重新計算被緩存 遺漏的數據。如果將時間敏感數據緩存得時間過長,這些數據將會過時。一般,伺服器更關心的是速度而不是空間,所以他們要比桌面系統進行更多的緩存。一定要定期去除不用的緩存,否則將會有運行設置問題。
4.應該創建多個線程,越多越好。
調整伺服器中起作用的線程數目是很重要的。如果線程是I/O-bound的,將會花費很多時間用來等待I/O的完成-一個被阻塞的線程就是一個不做任何有用工作的線程。加入額外的線程可以增加通量,但是加入過多的線程將會降低伺服器的性能,因為上下文交換將會成為一個重大的overhead。上下文交換速度應該低的原因有三個:上下文交換是單純的overhead,對應用程序的工作沒有任何益處;上下文交換用盡了寶貴的時鍾周期;最糟的是,上下文交換將處理器的緩存填滿了沒用的數據,替換這些數據是代價高昂的。
有很多事情是依靠你的線程化結構的。每個客戶端一個線程是絕對不合適的。因為對於大量用戶端,它的擴展性不好。上下文交換變得難以忍受,Windows NT用盡了資源。線程池模型會工作得更好,在這種方法中一個工人線程池將處理一條請求列,因為Windows 2000提供了相應的APIs,如QueueUserWorkItem。
5.應該對數據結構使用全局鎖
使數據線程安全的最簡單方法是把它套上一把大鎖。為簡單起見,所有的東西都用同一把鎖。這種方法會有一個問題:序列化。為了得到鎖,每一個要處理數據的線程都必須排隊等候。如果線程被一把鎖阻塞,它沒有在做任何有用的事。當伺服器的負載較輕時,這個問題並不常見,因為一次可能只有一個線程需要鎖。在負載很重的情況下,對鎖的激烈爭奪可能就會成為一個大問題。
設想在多車道高速公路上發生了一個意外事故,這條高速公路上的所有車輛都被轉向一條狹窄的道路。如果車輛很少,這一轉換對交通流的速率的影響可以忽略。如果車輛很多,當車輛慢慢並入那條單通道時,交通阻塞會延伸幾英里。
有幾種技術能夠減少鎖競爭。
· 不要過分保護,也就是說,不是非常必要不要鎖住數據。只有需要時才去持有鎖,而且時間不要過長。不要在大段代碼周圍或頻繁執行的代碼中沒必要地使用鎖,這一點很重要。
· 對數據進行分割,使它能夠用一套獨立的鎖保護。例如,一個符號表可以按標識符的第一個字母分割,這樣在修改名字以Q開頭的符號的值時,就不會去讀名字以H開頭的符號的值。
· 使用APIs的Interlocked 系列(InterlockedIncrement,等)自動修改數據而不需要鎖。
· 當數據不是經常被修改時可以使用多讀者/單作者(multi-reader/single-writer)鎖。你將獲得更好的並發性,盡管鎖操作的代價將更高並且你可能會冒餓死作者的危險。
· 在關鍵部分使用循環計數器。參見Windows NT 4.0 service pack 3中的SetCriticalSectionSpinCount API。
· 如果你不能得到鎖,使用TryEnterCriticalSection並做一些其他的有用的工作。
高競爭導致serialization,serialization導致降低CPU的利用率,這促使用戶加入更多的線程,結果事情變得更糟。
6.不必注意多處理器機器
你的代碼在多處理器系統上比在單處理器系統上運行得還要糟,這可能是件令人惡心的事。一個很自然的想法是,在一個N維系統上運行N次會更好。性能很差的原因是競爭:鎖競爭,匯流排競爭,和/或緩存列競爭。處理器都在是爭奪共享資源的所有權,而不是做更多的工作。
如果你一定要編寫多線程應用程序的話,你應該在多處理器盒上對你的應用程序進行強度測試和性能測試。單處理器系統通過時間分片地執行線程而提供一個並發性的假象。多處理器盒具有真正的並發性,競爭環境和競爭更容易發生。
7.應該始終使用模塊化調用;他們很有趣。
利用同步模塊化調用來執行I/O操作對大多數桌面應用程序來說是合適的。但是,他們不是使用伺服器上的CPU(s)的好方法。I/O操作要花費上百萬個時鍾周期來完成,這些時鍾周期本來可以被更好地利用。利用非同步I/O你能得到顯著提高的用戶請求率和I/O通量,不過增加了額外的復雜性。
如果你有需要花費很長時間的模塊化調用或I/O操作,你應該考調撥多少資源給他們。你想使用所有的線程還是有個限制?一般地,使用有限的幾個線程要好些。構建一個小的線程池和隊列,利用隊列來安排線程的工作完成模塊化調用。這樣,其他線程就可以拾取和處理你的非模塊化的請求。
8.不要進行測量
當你能夠測量你所談論的事情並用數字表達它時,這就表示你對他有了一定的了解;但是如果你不能用數字表達時,你的知識是貧瘠的不能令人滿意的;這可能是知識的開始,但這時你簡直不可能將你的思想提高到科學的水平。
- Lord Kelvin (William Thomson)
如果不測量你就不能了解應用程序的特性。你在黑暗中摸索,一半是靠猜測。如果不識別性能問題,你就不能做任何改進或做出工作量計劃。
測量包括黑匣子測量和profiling。黑匣子測量的意思是收集由性能計數器(內存使用,上下文交換,CPU利用等)和外部檢測工具(通量,反映時間等)所顯示的數據。為了profile你的代碼,你編譯代碼的一個工具版,然後在各種條件下運行它,並收集關於執行時間和過程調用頻率的統計數據。
測量如果不用於分析的話就一點用都沒有。測量將不僅告訴你有問題,而且甚至能幫助你找到問題發生在哪,但它不能告訴你為什麼會有問題。對問題進行分析以便你能正確地改正他們。要從根本上解決問題而不是停留在表面現象。
當你進行改動後,要重新測量。你要知道你的改動是否有效。改動也可能會暴露其他性能問題,測量-分析-改正-再測量的循環就會重新開始。你也必須要有規律地進行測量,以便發現性能衰退問題。
9.應該使用單一用戶,單一請求的測試方法。
書寫ASP和ISAPI應用程序的一個通病是只用一個瀏覽器去測試應用程序。當他們在Internet上應用他們的程序時,他們才發現他們的應用程序不能處理高負載,並且通量和反應時間另人可憐。
用一個瀏覽器測試是必要的但是不夠的。如果瀏覽器反應得不夠快,你就知道你有麻煩了。但即使它在使用一個瀏覽器時很快,你也不知道它處理負載的能力如何。如果十幾個用戶同時請求會發生什麼事?一百個呢?你的應用程序能容忍什麼樣的通量?它能提供什麼樣的反應時間?在輕載時這些數字會怎樣?中等負載呢?重載呢?在多處理器機器上你的應用程序會如何?對你的應用程序進行強度測試,這對於找出bugs發現性能問題來說是基本的。
類似的負載測試考慮適用於所有的伺服器應用程序。
10.不應使用實際環境。
人們往往只在幾個特定的,人工的環境(如下benchmarks)下調整應用程序。選擇和實際情況相對應的各種情況,並為針對各種操作進行優化,這一點很重要。如果你不這樣做,你的用戶和評論家一定會這樣做,並且他們將依此來評判你的應用程序的好壞。
❽ 怎麼提高linux伺服器性能,讓速度更快更穩定
1、我們平時登陸Linux伺服器的時候,都需要在輸入用戶名之後再等待一下專,這個時間因不同而等的時屬間不一樣。
2、其實這個問題是由ssh里邊的配置造成的,只需要我們改一下即可正常快速登陸。
3、我們編輯sshd_config 這個文件:vi /etc/ssh/sshd_config。
4、然後在里邊打開 需要修改的行。
5、我們把前面的#號去了,然後把yes 改變為no,UseDNS no。
6、然後保存退出,再重啟下ssh服務測試下就可以了,service sshd restart。
❾ 有什麼有效提高伺服器性能的方法
受教了,有機會可以去你們那看看伺服器