Linux運(yùn)維工程師工作手冊_第1頁
Linux運(yùn)維工程師工作手冊_第2頁
Linux運(yùn)維工程師工作手冊_第3頁
Linux運(yùn)維工程師工作手冊_第4頁
Linux運(yùn)維工程師工作手冊_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Linux 運(yùn)維工程師工作手冊釋放內(nèi)存:syncecho3/proc/sys/vm/drop_caches?Linux 查看 Dell 服務(wù)器型號(hào)命令 :dmidecode|grepProductName查看系統(tǒng)負(fù)載:cat /proc/loadavg1/28310904意思是:前三個(gè)是系統(tǒng)負(fù)載, 1/283 中, 1 代表此時(shí)運(yùn)行隊(duì)伍中的進(jìn)程個(gè)數(shù),而283是代表此時(shí)的進(jìn)程總數(shù)10904 到此為止,最后創(chuàng)建的一個(gè)進(jìn)程ID 。?系統(tǒng)裝好后,要做的事如下:關(guān)閉防火墻Selinux:vim/etc/selinux/config把 SELINUX=enforcing 改成 SELINUX=disabl

2、ed更改主機(jī)名:vim/etc/sysconfig/network修改主機(jī)名,不要用 localhost添加 hosts 主機(jī)記錄vim/etc/hosts 中,在后面,添加自己的主機(jī)名?創(chuàng)建 0-9a-z 目錄foriinseq09a.z;domkdir-p$i;done?測試硬盤性能工具: iozone監(jiān)視服務(wù)器每少上下文切換數(shù)次工具:Nmon(艮不錯(cuò)的性能監(jiān)視工具)?#占用內(nèi)存大小前10 的進(jìn)程ps-eocomm,size-sort-size|head-10?#占用cpu 使用前 10 的進(jìn)程ps-eocomm,pcpu-sort-pcpu|head-10?一、Apache服務(wù)優(yōu)化:21

3、. 配置 cronolog 進(jìn)行日志輪詢 22. 錯(cuò)誤頁面優(yōu)雅顯示2文件壓縮功能3緩存功能 45. 更改 apache 的默認(rèn)用戶 5模式,提升并發(fā)數(shù)(可以達(dá)到 2000-5000 ) 57.屏蔽apache版本等敏感信息6目錄文件權(quán)限設(shè)置( root ,目錄 755,文件644) 69. 開啟增加連接數(shù)610. apache 防盜鏈功能811. 禁止目錄Index812. 禁止用戶覆蓋( 重載) 813. 關(guān)閉 CGI914. 避免使用 .htaccess 文件(分布式配置文件) 915. apache 的安全模塊916. 正確途徑取得源代碼,勤打 apache 補(bǔ)丁 10日志授予 root

4、700 權(quán)限 1018. 系統(tǒng)內(nèi)核參數(shù)優(yōu)化 1019. 禁止PHPW析指定站點(diǎn)的目錄1020. 使用 tmpfs 文件系統(tǒng)替代頻繁訪問的目錄1121盡可能減少HTTP青求數(shù)11 22使用CDN故網(wǎng)站加速12? ?查看你的服務(wù)器網(wǎng)絡(luò)連接狀態(tài)netstat-n|awk/Atcp/+S$NFENDfor(ainS)printa,Sa CLOSED無連接是活動(dòng)的或正在進(jìn)行? LISTEN:服務(wù)器在等待進(jìn)入呼叫? SYN_RECV一個(gè)連接請求已經(jīng)到達(dá),等待確認(rèn)? SYN_SENT應(yīng)用已經(jīng)開始,打開一個(gè)連接? ESTABLISHED D正常數(shù)據(jù)傳輸狀態(tài)? FIN_WAIT1應(yīng)用說它已經(jīng)完成? FIN_WA

5、IT2另一邊已同意釋放? ITMED_WAIT等待所有分組死掉? CLOSING兩邊同時(shí)嘗試關(guān)閉? TIME_WAIT另一邊已初始化一個(gè)釋放? LAST_AC K等待所有分組死掉?ESTABLISHEDK6其實(shí)也是當(dāng)前的并發(fā)數(shù),這個(gè)可重點(diǎn)關(guān)注下;另外,可關(guān)注下TIMEWAIT這項(xiàng)的數(shù)值。Linux下高并發(fā)的Squid服務(wù)器,TCPTIME_WAI套接字?jǐn)?shù)量經(jīng)常達(dá)到 兩、三萬,服務(wù)器很容易被拖死。通過修改Linux 內(nèi)核參數(shù),可以減少Squid 服務(wù)器的TIME_WAITt接字?jǐn)?shù)量。#查看系統(tǒng)本地可用端口極限值cat/proc/sys/net/ipv4/ip_local_port_range?尋

6、找惡意 IP 并用 iptables 禁止掉netstat-an|grep:80|grep-v|awkprint$5|sort|awk-F:print$1,$4|uniq- c|awk$150print$1,$2?數(shù)據(jù)庫名 備份文件名備份單個(gè) 數(shù)據(jù)庫mysqldump-u 用戶-p密碼-default-character-set=latin1(數(shù)據(jù)庫默認(rèn)編碼是latin1)普通備份:mysqldump-uroot-poldboy123oldboy/server/bak/壓縮備份:mysqldump-uroot-poldboy123oldboy|gzip/server/bak/設(shè)置字符集備份:m

7、ysqldump-uroot-poldboy123oldboy-default-character-set=gbk|gzip/server/bak/執(zhí)行結(jié)果:rootoldboy#mkdir/server/bak-prootoldboy#mysqldump-uroot-poldboy123oldboy/server/babackup/bak/ ?rootoldboy#mysqldump-uroot-poldboy123oldboy/server/bak/rootoldboy#mysqldump-uroot-poldboy123oldboy|gzip/server/bak/rootoldboy#

8、ls-l/server/bak/total8-rw-r-r-1rootroot1991Apr900:51?-rw-r-r-1rootroot801Apr900:51?mysqldump 在做啥?mysqldump實(shí)際上就是把數(shù)據(jù)從 mysql庫里以邏輯的sql語句的形式導(dǎo)出備份的數(shù)據(jù)過濾掉注釋:rootoldboy# egrep-v*|-|A$/server/bak/DROPTABLEIFEXISTStest;CREATETABLEtest(idint(4)NOTNULLAUTO_INCREMENT,namechar(20)NOTNULL,PRIMARYKEY(id)ENGINE=MyISAM

9、AUTO_INCREMENT=12DEFAULTCHARSET=gbk;LOCKTABLEStestWRITE;INSERTINTOtestVALUES(1,zhaoyue),(2,jesse),(4,elain),(5,wodi),(6,yin gsui),(7,zhangyang),(8,zaixiangpan),(9J),(10,鑰侄 Bi 瀛),(11,金息);/server/bak/rootoldboy#egrep-v*|-|A$/server/bak/DROPTABLEIFEXISTStest;CREATETABLEtest(idint(4)NOTNULLAUTO_INCREMEN

10、T,namechar(20)NOTNULL,PRIMARYKEY(id)ENGINE=MyISAMAUTO_INCREMENT=12DEFAULTCHARSET=gbk;LOCKTABLEStestWRITE;INSERTINTOtestVALUES(1,zhaoyue),(2,jesse),(4,elain),(5,wodi),(6,yin gsui),(7,zhangyang),(8,zaixiangpan),(9,),(10,老男孩 ),(11, 我);/server/bak/提示: -B 參數(shù)是關(guān)鍵,表示接多個(gè)庫。(生產(chǎn)環(huán)境常用)-B,-databasesTodumpseveralda

11、tabases.Notethediff erenceinusage;Inthiscasenotablesaregiven.Allnameargumentsareregardedasdatabasenames.USEdb_name;willbeincludedintheoutput.參數(shù)說明:該參數(shù)用于導(dǎo)出若干個(gè)數(shù)據(jù)庫,在備份結(jié)果中會(huì)加入U(xiǎn)SEdb_nameCREATEDATABASEdb_name;-B 后的參數(shù)都將被作為數(shù)據(jù)庫名。該參數(shù)比較常用。當(dāng) -B 后的數(shù)據(jù)庫列全時(shí)同 -A 參數(shù)。請看 -A 的說明。備份單個(gè)表mysqldump-u 用戶名 -p 數(shù)據(jù)庫名表名備份的文件名mysqldu

12、mp-uroot-poldboytest ?執(zhí)行結(jié)果:rootoldboy# mysqldump-uroot-poldboy123oldboytest-default-character- set=gbk/server/bak/提示:無 -B 參數(shù),庫 oldboy 后面就是 test 表了。備份多個(gè)表rootoldboy# mysqldump-uroot-poldboy123oldboytestett-default-character- set=gbk/server/bak/rootoldboy# egrep-v*|-|A$/server/bak/DROPTABLEIFEXISTStest

13、;CREATETABLEtest(idint(4)NOTNULLAUTO_INCREMENT,namechar(20)NOTNULL,PRIMARYKEY(id)ENGINE=MyISAMAUTO_INCREMENT=12DEFAULTCHARSET=gbk;LOCKTABLEStestWRITE;INSERTINTOtestVALUES(1,zhaoyue),(2,jesse),(4,elain),(5,wodi),(6,yin gsui),(7,zhangyang),(8,zaixiangpan),(9,),(10,老男孩 ),(11,我);UNLOCKTABLES;DROPTABLEIF

14、EXISTSett;CREATETABLEett(idint(11)DEFAULTNULL)ENGINE=MyISAMDEFAULTCHARSET=gbk;LOCKTABLESettWRITE;UNLOCKTABLES;備份數(shù)據(jù)庫結(jié)構(gòu)( 不包含數(shù)據(jù))mysqldump-uroot -d -poldboyoldboyoldboy ?-d 只備份表結(jié)構(gòu)rootoldboy#mysqldump-uroot-poldboy123-doldboy/tmp/ ?rootoldboy#egrep-v*|-|A$/tmp/?DROPTABLEIFEXISTSett;CREATETABLEett(idint(1

15、1)DEFAULTNULL)ENGINE=MyISAMDEFAULTCHARSET=gbk;DROPTABLEIFEXISTStest;CREATETABLEtest(idint(4)NOTNULLAUTO_INCREMENT,namechar(20)NOTNULL,PRIMARYKEY(id)ENGINE=MyISAMAUTO_INCREMENT=12DEFAULTCHARSET=gbk;更多用法可以執(zhí)行 mysqldump- help查詢。有關(guān) mysql和mysqldump同學(xué)們要詳細(xì)總結(jié)。5 恢復(fù)數(shù)據(jù)庫source 命令恢復(fù)進(jìn)入 mysql 數(shù)據(jù)庫控制臺(tái), mysql-uroot-p

16、mysqluse 數(shù)據(jù)庫然后使用 source 命令,后面參數(shù)為 腳本 文件 (如這里用到的.sql)mysqlsource# 這個(gè)文件是系統(tǒng)路徑。rootoldboybak#mysql-uroot-poldboy123WelcometotheMySQLmonitor.Commandsendwith;org.skip.Typehelp;orhforhelp.Typectoclearthecurrentinputstatement.?mysqluseoldboyDatabasechangedmysqlshowtables;+|Tables_in_oldboy|+|ett|test|+2rowsi

17、nsetsec) mysqldroptablestest;QueryOK,0rowsaffectedsec)?mysqlsystemls.?mysqlsource./select*fromtest;+ +|id|name|+ +|1|zhaoyue|2|jesse|5|wodi|6|yingsui| |7|zhangyang|8|zaixiangpan|9|10|setnamesgbk;QueryOK,Orowsaffectedsec) ?mysqlselect*fromtest;+|id|name|+|1|zhaoyue|2|jesse|4|elain|5|wodi|6|yingsui|7|

18、zhangyang|8|zaixiangpan|9|10|老男孩|=仍然是正常的,就是說備份不加字符集導(dǎo)出,將來恢復(fù)不會(huì)影響恢復(fù)的數(shù) 據(jù),但是備份后查看文件會(huì)亂碼。|11| 我 |+-+10rowsinsetsec)mysql命令恢復(fù)(標(biāo)準(zhǔn))mysql-uoldboy-poldboyoldboysystemmysql-uroot-poldboy123oldboyselect*fromtest;+ +|id|name|+ +2|jesse| |4|elain|5|wodi|6|yingsui|7|zhangyang| |8|zaixiangpan|9|10|老男孩|/data/backup/$(

19、date+%F).特別提示:有關(guān)MylSAMf口 InnoDB引擎的差別和在工作中如何選擇,在前面的文章已經(jīng)詳 細(xì)講解過了,這里就不在講了。InnoDB 引擎?zhèn)浞軮nnoDB 引擎為行鎖,因此,備份時(shí)可以不對(duì)數(shù)據(jù)庫加鎖的操作,可以加選項(xiàng)-singletransaction 進(jìn)行備份:mysqldump-A-F-B-single-transaction|gzip/data/backup/$(date+%F).特別注意:1) -single-transaction僅適用于 InnoDB 引擎。?生產(chǎn)環(huán)境mysqldump&份命令mysqldump- uroot - p - S/data/3306/

20、 - default-character-set=gbk - singletransaction -F - Boldboy|gzip/server/backup/mysql_$(date+%F).?:注-F :刷新 bin-log 參數(shù),數(shù)據(jù)庫備份完以后,會(huì)刷新bin-log?增量備份:更新 bin-log:mysqladmin - uroot - p- S/data/3306/flush-logs如生成文件把生成的最新文件,CP至1J/var/backup/把二進(jìn)制的日志生成sql 語句:mysqlbinlog如果有多個(gè)庫,我們應(yīng)該用 -d 來指定恢復(fù)單個(gè)庫mysqlbinlog - dol

21、dboy(當(dāng)然對(duì)于庫也要分庫備,否則恢復(fù)還是麻煩 )還原數(shù)據(jù):先還原全備,再還原增備先還原全備: mysql - uroot - p還原增備:mysql - uroot - pshowvariableslikemax_connections;+|Variable_name|Value|max_connections|151|+1rowinsetsec)?服務(wù)器響應(yīng)的最大連接數(shù): 152mysqlshowglobalstatuslikeMax_used_connections;+|Variable_name|Value|+|Max_used_connections|152|+1rowinsets

22、ec)查看服務(wù)器key_buffer_size 數(shù)值: 4mysqlshowvariableslikekey_buffer_size;+|Variable_name|Value|+|key_buffer_size|4|1rowinsetsec)?查看服務(wù)器現(xiàn)在使用的 key_buffer_size 使用情況:key_read_requests:4key-reads:830525mysqlshowglobalstatuslikekey_read%;+|Variable_name|Value|+|Key_read_requests|4|Key_reads|830525|+2rowsinsetsec

23、)計(jì)算索引未命中的概率:key_cache_miss_rate=key_reads/key_read_requests*100%達(dá)到 %以下(即每1000個(gè)請求有一個(gè)直接讀硬盤)以下都很好,如果key_cache_miss_rae 在 %以下的話,則說明key_buffer_size 分配得過多,可以適當(dāng)減少。+Key_blocks_unused 表示未使用的緩存簇?cái)?shù), Key_blocks_used 表示曾經(jīng)用到的最大的blocks 數(shù),比如這臺(tái)服務(wù)器,所有的緩存都用到了,要么增加 key_buffer_size ,要么就是過度索引,把緩存占滿了。比較理想的設(shè)置是:key_blocks_us

24、ed/(key_blocks_unused+key_blocks_used)*100%=80%?mysqlshowglobalstatuslikekey_blocks_u%;+|Variable_name|Value|+|Key_blocks_unused|317003|Key_blocks_used|6439|+2rowsinsetsec)?臨時(shí)表:當(dāng)執(zhí)行語句時(shí),關(guān)于已經(jīng)被創(chuàng)造了的隱含臨時(shí)表的數(shù)量,我們可以用如下命令查詢其具體情況:mysqlshowglobalstatuslikecreated_tmp%;|Variable_name|Value|+|Created_tmp_disk_tab

25、les|343326|Created_tmp_files|172|Created_tmp_tables|675795|+3rowsinsetsec)?每次創(chuàng)建臨時(shí)表時(shí), created_tmp_tables 都會(huì)增加,如果是在磁盤上創(chuàng)建臨時(shí)表,created_tmp_disk_tables也會(huì)增加。created_tem_files 表示 MYSQL務(wù)創(chuàng)建的臨時(shí)文件數(shù),比較理想的配置是:Created_Tmp_disk_tables/Created_tmp_tables*100%showvariableswhereVariable_namein(tmp_table_size,max_heap_

26、table_size);+|Variable_name|Value|+|max_heap_table_size|tmp_table_size|2rowsinsetsec)只有16M以下的臨時(shí)表才能全部放在內(nèi)存中,超過的就會(huì)用到硬盤臨時(shí)表。?打開表的情況Open_tables 表示打開表的數(shù)量, Opend_tables 表示打開過的表數(shù)量,我們可以用如下命令查看其具體情況:mysqlshowglobalstatuslikeopen%tables%;+|Variable_name|Value|+|Open_tables|512|Opened_tables|234200|+2rowsinsetse

27、c)如果Opened_tables數(shù)量過大,說明配置中tables_caceh(MYSQL之后這個(gè)值叫做 table_open_cache) 的值可能太小。我們查詢一下服務(wù)器table_cache 值:mysqlshowvariablesliketable_open_cache; ?+|Variable_name|Value|+|table_open_cache|614|+1rowinsetsec)比較合適的值為:Open_tables/Opened_tables*100%=85%Open_tables/table_open_cache*100%showglobalstatuslikeThre

28、ad%;+|Variable_name|Value|+|Threads_cached|7|Threads_connected|2|Threads_created|2124|Threads_running|2|+4rowsinsetsec)如果發(fā)現(xiàn)Threads_created的值過大的話,表明MYSQ服務(wù)器一直在創(chuàng)建線程,這也是比較耗費(fèi)資源的,可以適當(dāng)增大配置文件中的 thread_cache_size 的值。查詢服務(wù)器thread_cahce_size 配置,如下所示:mysqlshowvariableslikethread_cache_size;+|Variable_name|Value|

29、+|thread_cache_size|8|+1rowinsetsec)?查詢緩存它涉及的主要有兩個(gè)參數(shù),query_cache_size 是設(shè)置MYSQL勺Query_Cache大小, query_cache_size 是設(shè)置使用查詢緩存的類型,我們可以用如下命令查看其具體情況:mysqlshowglobalstatuslikeqcache%;+|Variable_name|Value|+|Qcache_free_blocks|130|Qcache_free_memory|Qcache_hits|Qcache_inserts|2391041|Qcache_lowmem_prunes|0|?|

30、Qcache_not_cached|671718|Qcache_queries_in_cache|676|Qcache_total_blocks|1798|+8rowsinsetsec)?我們再查詢一下服務(wù)器上關(guān)于query-cache 的配置命令如下:mysqlshowvariableslikequery_cache%;+|Variable_name|Value|+|query_cache_limit|1048576| |query_cache_min_res_unit|4096|query_cache_size|query_cache_type|ON|query_cache_wlock_i

31、nvalidate|OFF|+5rowsinsetsec)?排序使用情況它表示系統(tǒng)中對(duì)數(shù)據(jù)進(jìn)行排序時(shí)所使用的 Buffer ,我們可以用如下命令查看: mysqlshowglobalstatuslikesort%; +|Variable_name|Value|+|Sort_merge_passes|84|Sort_range|393425| |Sort_rows|2|Sort_scan|324383|+4rowsinsetsec)?Sort_merge_passes包括如下步驟:MYSQ首先會(huì)嘗試在內(nèi)存中做排序,使用的內(nèi)存大小 由系統(tǒng)變量sort_buffer_size 來決定,如果它不夠大則把所有的記錄都讀到內(nèi)存中,而MYSQ則會(huì)把每次在內(nèi)存中排序的2果存到臨時(shí)文件中,等MYSQ找到所有記錄之后,再把臨時(shí)文件中的記錄做一次排序。這次再排序就會(huì)增加 sort_merge_passes 。實(shí)際上,MYSQ會(huì)用另一個(gè)臨時(shí)文件來存儲(chǔ)再次排序的結(jié)果,所以我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論