nginx配置原型

2021-12-30 07:05:17 字數 1502 閱讀 3339

1.硬體優化

a.cpu 一台機器8-16顆8-16g 2-4顆

b.記憶體 96g-128g 3-4個例項 32-64g 跑2個例項

c.disk數量越多越好,效能:ssd (高併發)> sas(普通業務線上) >sata

raid10>raid5>raidserver1 d.網絡卡,多塊網絡卡bond,以及buffer,tcp優化

2.引數優化

優化的幅度很小,大部分 架構以及sql語句優化

監控 生產引數時一般情況下引數

show global status\g

工具 mysqlreport3.sql優化

a.索引的優化

1)抓出慢sql,配置my.cnf

long_query_time = 1

log-slow-queries = /data/3306/slow.log

按天輪詢slow-log.log

2)慢查詢日誌分析工具--mysqlsla(推薦)

b.大的複雜的sql語句拆分成多個小的sql語句

c.資料庫是儲存資料的地方,但不是計算資料的地方

d.搜尋功能,一般不用mysql資料庫4.架構優化

1.業務拆分,搜尋功能,like 『%全職%』,一般不要用資料庫

2.資料庫前端使用nosql持久化儲存

3.資料庫集群與讀寫分離,一主多從,通過程式進行讀寫分離

4.單錶超過2000萬,拆庫拆表

5.動態資料靜態化。流程、制度、安全優化

如何一次人為資料庫記錄的更新,都要走乙個流程

a.人的流程 開發--->核心開發--->運維或dba**開啟慢

1)show full processlist:

2)慢查詢語句

long_query_time = 1

log-slow-queries = /data/3306/slow.log

a、資料庫負載高,有慢查詢,做聯合索引案例,檢視表結構,有沒有建索引

b、頻寬滿了,磁碟滿了,連線數消耗完了

c、資料庫中像 like』%%』 這樣的語句特別多,導致資料庫負載高,這樣的語句對於資料庫沒有太大的優化餘地

登入資料庫檢視 show full processlist:

mysql -uroot -p』111』 -e 「show full processlist」 | grep -vi sleep 資料庫中像 like』%%』 這樣的語句特別多,導致資料庫負載高,這樣的語句對於資料庫沒有太大的優化餘地

優化方法

1)業務上實現先登入再搜尋,減少搜尋次數

2) 分析web日誌的ip,如果有大量頻繁的搜尋,一般是爬蟲在爬你的**(awstats是乙個免費非常簡潔而且強大有個性的統計工具)

3) 配置多個從庫,程式上實現讀寫分離

4) 在資料庫前端加上快取伺服器tips

mysqldump大於50g就用xtarbackup

mysqlbinlog -d aaa mysql-bin.0020 > aaa.sql (生成的sql都是aaa庫的)

nginx動態配置配置

nginx中的conf檔案配置測試 upstream backserver server upsync指令指定從consul哪個路徑拉取上游伺服器配置 upsync timeout配置從consul拉取上游伺服器配置的超時時間 upsync interval配置從consul拉取上游伺服器配置的間隔...

Nginx配置分析 nginx 二

基於網域名稱配置 在 conf nginx.conf中新增兩個虛擬主機配置 server server 配置host檔案,dns本地化 192.168.1.103 www.host1.com 192.168.1.103 www.host2.com 測試成功 埠配置在 conf nginx.conf中...

nginx 配置nginx集群(7)

1.準備兩台伺服器 且都安裝nginx 和keepalived 安裝keepalived yum install keepalived y安裝好後linux 的etc 資料夾下面會有keepalived資料夾以及配置檔案 2.修改keepalived的配置問價 virtual ipaddress3....