64位使用32位的伺服器版本
32位不能使用超過4g的內容,因此選擇的時候需要注意。
myisam
innodb
** cpu **
> * 64位的cpu執行64位的系統
> * 高併發的場景,cpu數量比頻率重要
> * cpu密集型的場景和複雜sql則頻率越高越好
** 記憶體 **
** i/o **選擇伺服器版本,而不是桌面版本。
核心相關引數(/etc/sysctl.conf)net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.core.wmem_default=87380
net.core.wmem_max=16777216
net.core.rmem_default=87380
net.core.rmem_max=16777216
探測的時間間隔(s): net.ipv4.tcp_keepalive_time=120
訊息重發時的時間間隔(s): net.ipv4.tcp_keepalive_intvl=30
tcp連線超時前最多傳送幾次: net.ipv4.tcp_keepalive_probes=3
linux系統記憶體交換區(swap):
當系統記憶體不足時會將一些虛擬記憶體寫入磁碟交換區(swap)中。
由於使用swap會對mysql效能產生災難性的影響。因此對mysql伺服器是否使用swap分割槽存在一些爭議。
如果禁用swap分割槽也會帶來一些影響:
就上述影響而言,保留swap分割槽還是必要。
增加系統資源限制(/etc/security/limit.conf)開啟檔案數量的限制,加到/etc/security/limit.conf末尾即可:磁碟排程策略(/sys/block/devname/queue/scheduler)* soft nofile 65535
* hard nofile 65535
cat /sys/block/devname/queue/scheduler
noop anticipatory deadline [cfq] # 完全公平佇列,一般用於桌面系統
noop:電梯式排程,餓死讀滿足寫
deadline:截至時間策略,`資料庫型別最好的選擇`
anticipatory:和deadline一樣,只是最後一次讀操作後要等待6毫秒。合併多次寫為一次寫,適合於檔案伺服器,對資料庫伺服器表現很差。
將磁碟排程策略改為deadline
echo deadline > /sys/block/devname/queue/scheduler
ext3、ext4、xfs(效能更高),上訴都具備日誌功能,對資料安全性較好。
ext3、ext4系統掛載引數(/etcc/fstab)
/dev/sda1/ext4 noatime,nodiratime,data=writeback 1 1
效能優化學習筆記
js css鬆散耦合盡量避免直接用js操作樣式,改為控制類名 element.classname edit 解耦應用邏輯和事件處理程式 使用常量優化效能,提公升 維護性 避免全域性查詢 優化迴圈效能乙個基本的for迴圈 for let i 0 i values.length i 乙個減值操作的for...
ORACLE SQL效能優化(學習筆記)
記錄小的表應該在from的最後 多表查詢時 寫條件時from最後的哪個表應該先寫 where條件時要先寫表之間的連線 select 字句避免用 儘量減少訪問資料庫的次數 刪除全表時用truncate替代delete 不可恢復 盡量多使用 mit 使用表的別名 alias 使用exists替代in 並...
效能優化學習筆記一
1.unity可以進行跨平台操作就是因為他內含了虛擬機器 2.draw call命令 就是cpu通過圖形庫介面,命令gpu進行渲染操作,這個命令越多渲染的就越慢,所以在一般的優化裡面都會儘量減少draw call的數量 3.unity profiler是unity內建的效能分析器 1 深度效能分析 ...