国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux服務器的一些優化

2024-08-28 00:00:14
字體:
來源:轉載
供稿:網友

不使用atime屬性,例需為/data設置notime,可修改/etc/fstab如下
/dev/sdb1 /data ext3 noatime 0 0
#mount -o noatime,remount /dev/sdb1

ext3 不執行任何形式的數據日志記錄以提供最佳的 ext3 性能
添加data=writeback 于fstab,或在mount時加 -o data=writeback

調整默認的同時可打開最大文件數以及i-節點數
# echo ‘8192′ > /proc/sys/fs/file-max
# echo ‘32768′ > /proc/sys/fs/inode-max
#加入rc.local
#一般最大打開文件數可設置為每4M物理內存256,即256M內存可設為16384,而最大的使用的i節點應是最大打開文件數目的3-4倍

修改內核共享內存限制為256M,默認是32M
echo 268435456 >/proc/sys/kernel/shmall
echo 268435456 >/proc/sys/kernel/shmmax

禁止廣播和ping入
echo “1″ > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo “1″ > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

sysctl一些優化
sysctl -w net.ipv4.ip_conntrack_max=655360
##解決messages suppressed報錯問題
sysctl -w net.ipv4.neigh.default.gc_thresh3=4096
sysctl -w net.ipv4.neigh.default.gc_thresh2=2048
sysctl -w net.ipv4.neigh.default.gc_thresh1=1024
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=60
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait=30
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=60
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_tw_recycle=1

進程限制
ulimit -n 4096 # 將每個進程可以打開的文件數目加大到4096,缺省為1024
ulimit -m 4096 # 限制每個進程使用的內存數

看IO數據
iostat -t 5 5
iostat -x
sar -d 2 20

32位操作系統文件大小就是2G,for X86-64版本的EL4支持超過2G的文件,相關限制調高
echo “xxxx” >/proc/sys/fs/file-max #整個系統所有可打開文件 總數的限制。xxxx值可按256/4M內存計算。
ulimit -n 10000 #某一程序可打開文件 總數的限制塊大小
mkfs.exe3 -b 4096 -m 1 /dev/sdb1 #使用4k塊,保留空間設為1%(default 5%)
#大文件區可以使用較大塊增加性能(但大塊浪費空間)

使用tmpfs
tmpfs 文件系統會完全駐留在 RAM 中,速度快,但重啟數據將丟失.默認分區大小是系統內存的一半,可以size=1024M修改。
mkdir /dev/shm/ram
mount –bind /dev/shm/ram /RAM

關閉不需要的tty
vi /etc/inittab
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
把后面4個注釋掉.
init q #重新執行/etc/inittab,可以不重啟生效

關閉ipv6
vi /etc/modprobe.conf,在文件中添加以下兩行
alias net-pf-10 off
alias ipv6 off

使用 cURL 度量 Web 站點的響應時間
curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} http://yxcwf.wordpress.com/
0.052:0.955:1.964
#time_connect 建立到服務器的 TCP 連接所用的時間
#time_starttransfer 在發出請求之后,Web 服務器返回數據的第一個字節所用的時間
#time_total 完成請求所用的時間
#這些計時器要先于DNS查詢。因此,在發出請求之后,Web 服務器處理請求并開始發回數據所用的時間是 0.955-0.052=0.903 秒。客戶機從服務器下載數據所用的時間是 1.964-0.955=1.009 秒。
#Firefox 瀏覽器的 Tamper Data 可以在日志中記錄 Web 瀏覽器發出的每個請求,并顯示每個請求所用的下載時間

硬盤讀取數據性能
hdparm -tT /dev/sda

網絡文件系統(NFS)
NFS客戶端可使用rsize=32768,wsize=32768,intr,noatime 掛裝遠程文件系統
* 使用大的讀/寫塊(數字指定最大塊大小,在這個示例中是 32KB)。
* 在掛起時 NFS 操作可以被中斷。
* 不持續更新 atime。
# nfsstat -rc 命令評估客戶機連接情況
Client rpc stats:
calls retrans authrefrsh # retrans列是零,這表示系統啟動后沒有出現需要重新傳輸的情況。
1465903813 0 0 #如果這個數字比較大,就應該考慮增加 NFS 內核線程,如運行rpc.nfsd 128

網卡做Bonding
見http://blog.zhangjianfeng.com/?p=177

WEB服務器優化
| 客戶端 | ===> |負載均衡器| ===> |反向代理/緩存| ===> |WEB服務器| ===> |數據庫服務器|
     -                    Nginx/LVS                Squid                         Apache,PHP           MySQL/ORACLE
                                                                                            *eAccelerator/memcache

Apache部分特性控制

AllowOverride None #禁止尋找.htaccess,加快響應.
Options FollowSymLinks #不檢查相關文件是不是符號連接,加快響應.
MaxKeepAliveRequests 50 #一次持續長連接最多允許接收幾次請求,如太大會消耗更多內存
KeepAliveTimeout 5 #長連接在無活動后等待多久自動關閉,太小會導致頻繁創建新的進程,太大會占連接

ServerLimit 20 #服務器允許配置的進程數上限
ThreadLimit 200 #每個子進程可配置的線程數上限
StartServers 5 #服務器啟動時建立的子進程數
MinSpareThreads 50 #最小空閑線程數
MaxSpareThreads 250 # 設置最大空閑線程數
MaxClients 2000 # 同一時間最大接入請求數量(ServerLimit乘ThreadsPerChild的值)
ThreadsPerChild 100 #每個子進程建立的常駐的執行線程數,子進程在啟動時建立這些線程后就不再建立新的線程了
MaxRequestsPerChild 10000 ##每個進程只響應xxxx次,超過此數后關閉自身并啟用新的進程

Timeout 300 #客戶程序和服務器連接的超時間隔
KeepAlive On #用于支持HTTP 1.1版本的一次連接、多次傳輸功能
MaxKeepAliveRequests 100 #一次連接可以進行的HTTP請求的最大請求次數。其值為0時為不限制
#ExtendedStatus On #服務器提供運行狀態信息。
#ServerAdmin you@your.address
KeepAliveTimeout 15 #一次連接中的多次請求傳輸之間的時間,超過定義值后,服務器就斷開連接。–找相對低端的機器處理圖片和 HTML 頁面,使用squid或設置KeepAlives off ,來減少斷開連接的時間。
–將圖片與頁面服務器進行分離,因圖片傳輸需要的時間更長,傳輸需要花很大開銷在建立連接上,apache并發性能肯定會下降
–Web目錄中文件數不要太多(超過1000),文件越多花費在定位上的時間也越多

對于 PHP 腳本而言,主要的瓶頸是 CPU ,對于靜態頁面而言,瓶頸是內存和網絡。
  3、Apache 處理 PHP 腳本的速度要比靜態頁面慢 2-10 倍,因此盡量采用多的靜態頁面,少的腳本。
   4、PHP 腳本如果不做緩沖,每次調用都需要編譯,因此,安裝一個 PHP 緩沖產品能提升 25-100% 的性能

[第三方軟件優化]
  18、如果喜歡從修改 Apache 源碼入手,可以安裝 lingerd。在頁面產生和發送后,每個 Apache 進程都會浪費一段時光在客戶連接上,Lingerd 能接管這項工作,讓 Apache 迅速服務下一個客戶請求。
  19、如果你足夠勇敢的話,還可以采用 Silicon Graphics 的 Accelerated Apache 補丁。這個工程能使 Apache 1.3 快 10 倍,使 Apache 2.0 快 4 倍。
  安裝一個 PHP 緩沖產品能提升 25-100% 的性能。Test Web server’s compression support
http://www.port80software.com/products/httpzip/compresscheck

APACHE優化原則
1點擊/秒以下,可以不優化apache與系統的接口
1點擊/秒以上,需要優化apache與系統的接口

buffer 設置
/proc/sys/net/core/rmem_default & /proc/sys/net/core/wmem_default

性能瓶徑值
CPU >80%
vmstat 中r(run)<5,b(behind)≈0,
IBM RS/6000: 好 壞 糟糕
CPU: user% + sys%< 70% user% + sys%= 85% user% + sys%=90%+
磁盤: iowait % < 30% iowait % =40% iowait % = 50%+
內存: 無pagein pageout 每個CPU 達到10 page/秒 更多的pagein pageout
網絡 < 30% 網絡帶寬
運行隊列(Run Queue) < 2 * CPU個數

一般來說vmstat的性能指標為:wa不超過25,us+sy多用戶情況下不超過80%,r和b不高于5,pi和po基本為零,fr:sr 接近1:1(當然都為零最好),fre一般不要底到120.

IO調整優化
cat /sys/block/sda/queue/scheduler #確定正在使用的是哪個 I/O 調度程序
在grub.conf的相應啟動選項里加入elevator=deadline,如:
kernel /vmlinuz-2.6.6 ro root=/dev/sda6 elevator=deadline
#Deadline的I/O調度器,在數據吞吐量非常大的數據庫系統中表現得更有優勢。

各瓶徑判斷方向
用iostat、sar、tprof檢測是否是CPU原因
用vmstat、svmon檢測是否是內存原因
用filemon、iostat檢測是否是硬盤原因
用netstat 、nfsstat檢測是否是網絡原因

一些概念
Pageout 指的是磁盤上內存頁從物理內存到 Swap 空間的轉移
svctm: 平均每次設備I/O操作的服務時間 (毫秒)。
%util: 一秒中有百分之多少的時間用于 I/O 操作

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青州市| 新闻| 宜兰市| 马边| 北流市| 连江县| 遵义县| 景德镇市| 琼中| 武川县| 安国市| 共和县| 石屏县| 义马市| 汉阴县| 盐津县| 闽侯县| 万载县| 德化县| 额敏县| 靖边县| 武城县| 贡觉县| 浦城县| 运城市| 咸宁市| 兴文县| 布尔津县| 莆田市| 镇坪县| 湖州市| 布尔津县| 江安县| 开平市| 小金县| 盐城市| 天长市| 富裕县| 新疆| 攀枝花市| 象州县|