搜尋
首頁後端開發php教程nginx 伺服器系統最佳化

1 linux 預設 core file size 為 0

何謂 core 文件,當一個程式崩潰時,在進程目前工作目錄的 core 檔案中複製了該進程的儲存影像。 core 檔案只是一個記憶體映像(同時加上除錯資訊),主要是用來除錯的。 core 檔案是二進位文件,需要用對應的工具來分析程式崩潰時的記憶體映像。

系統預設 core 檔案的大小為 0 ,所以沒有建立。可以用 ulimit 指令來檢視和修改 core 檔的大小。

 

$ulimit -c

0

$ ulimit -c 1000

$ ulimit -c

1000

-c 指定修改 core 檔案的大小, 1000 指定了 core 檔案大小。也可以對 core 檔案的大小不做限制,如:

# ulimit -c unlimited

#ulimit -c

Unlimited

 

如果想讓修改永久生效,則需要修改設定檔

 

Vim /etc/profile 中的:

ulimit -S -c 0 > /dev/null 2>&1

修改為

ulimit -S -c 1000 > /dev/null 2>&1

 

參考資料: http://hi.baidu.com/jrckkyy/blog/item/2562320a5bdbc534b1351d95.html

 

 2 linux 預設值 open files 和 max user processes 為 1024

#ulimit -n

1024

#ulimit –u

1024

問題描述: 說明 server 只允許同時開啟 1024 個文件,處理 1024 個使用者進程

使用ulimit -a 可以查看目前系統的所有限制值,使用ulimit -n 可以查看目前的最大開啟檔案數。

新裝的linux 預設只有1024 ,當作負載較大的伺服器時,很容易遇到error: too many open files 。因此,需要將其改大。

 

解決方法:

使用 ulimit –n 65535 可即時修改,但重啟後就無效了。 (註ulimit -SHn 65535 等效 ulimit -n 65535 ,-S 指soft ,-H 指hard)

有以下三種修改方式:

1. 在/etc/rc.local 中增加一行 ulimit -SHn 65535
2. 在/etc/profile 中增加一行 ulimit -SHn 65535
3. 在/etc/security/limits.conf 最後增加:

* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535

具體使用哪一種,在 CentOS 中使用第1 種方式無效果,使用第3 種方式有效果,而在Debian 中使用第2 種有效果

 # ulimit -n

65535

# ulimit -u

65535

 

備註:ulimit 指令本身就有分軟硬設置,加-H 就是硬,加-S 就是軟預設顯示的是軟限制

soft 限制指的是目前系統生效的設定值。 hard 限制值可以被一般使用者降低。但是不能增加。 soft 限制不能設定的比 hard 限制更高。 只有 root 使用者才能夠增加 hard 限制值。

 

 3 發現有大量 TIME_WAIT 狀態的連接


問題描述: 發現大量 time_wait 狀態的連結 , 有時甚至達到 7000 以上

netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'

 查找較多 time_wait 連接

netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

發現是 DB 伺服器的 mysql 和 memcache 的未釋放導致。

解決方法: 對於大量使用 tcp 連線的應用來說,也需要對 /etc/sysctl.conf 中的參數進行相應最佳化 :

vim /etc/sysctl.conf

編輯文件,加入以下內容:

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_fin_timeout = 30

然後執行 /sbin/sysctl -p 讓參數生效。

 

優化後:

發現大量的 TIME_WAIT 已不存在, mysql 進程的佔用率很快就降下來的。

以上就介紹了nginx 伺服器系統最佳化,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
可以在PHP會話中存儲哪些數據?可以在PHP會話中存儲哪些數據?May 02, 2025 am 12:17 AM

phpsessionscanStorestrings,數字,數組和原始物。

您如何開始PHP會話?您如何開始PHP會話?May 02, 2025 am 12:16 AM

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考慮使用AttActAcks.s.s.4)

什麼是會話再生,如何提高安全性?什麼是會話再生,如何提高安全性?May 02, 2025 am 12:15 AM

會話再生是指在用戶進行敏感操作時生成新會話ID並使舊ID失效,以防會話固定攻擊。實現步驟包括:1.檢測敏感操作,2.生成新會話ID,3.銷毀舊會話ID,4.更新用戶端會話信息。

使用PHP會話時有哪些性能考慮?使用PHP會話時有哪些性能考慮?May 02, 2025 am 12:11 AM

PHP会话对应用性能有显著影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHP會話與Cookie有何不同?PHP會話與Cookie有何不同?May 02, 2025 am 12:03 AM

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

PHP如何識別用戶的會話?PHP如何識別用戶的會話?May 01, 2025 am 12:23 AM

phpIdentifiesauser'ssessionSessionSessionCookiesAndSessionId.1)whiwsession_start()被稱為,phpgeneratesainiquesesesessionIdStoredInacookInAcookInAcienamedInAcienamedphpsessIdontheuser'sbrowser'sbrowser.2)thisIdallowSphptpptpptpptpptpptpptpptoretoreteretrieetrieetrieetrieetrieetrieetreetrieetrieetrieetrieetremthafromtheserver。

確保PHP會議的一些最佳實踐是什麼?確保PHP會議的一些最佳實踐是什麼?May 01, 2025 am 12:22 AM

PHP會話的安全可以通過以下措施實現:1.使用session_regenerate_id()在用戶登錄或重要操作時重新生成會話ID。 2.通過HTTPS協議加密傳輸會話ID。 3.使用session_save_path()指定安全目錄存儲會話數據,並正確設置權限。

PHP會話文件默認存儲在哪裡?PHP會話文件默認存儲在哪裡?May 01, 2025 am 12:15 AM

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器