網(wǎng)站性能提高實(shí)戰(zhàn)經(jīng)驗(yàn)點(diǎn)滴記錄
更新時(shí)間:2011年02月19日 16:43:05 作者:
網(wǎng)站性能提高實(shí)戰(zhàn)經(jīng)驗(yàn)點(diǎn)滴記錄,需要的朋友可以參考下。
DB:
1.數(shù)據(jù)庫(kù)可以適當(dāng)設(shè)計(jì)一些冗余字段來(lái)減少聯(lián)合查詢
2.經(jīng)常查詢的字段要建立索引
3.查詢內(nèi)容盡量簡(jiǎn)潔, 比如cakephp中的查詢盡量設(shè)置$this->recursive=-1,并指定fields.
4.數(shù)據(jù)庫(kù)用單獨(dú)的服務(wù)器,有條件的常用查詢數(shù)據(jù)單獨(dú)分庫(kù)
5.把session等數(shù)據(jù)放在Memcache而不是數(shù)據(jù)庫(kù)中既能滿足多服務(wù)器之間共享也能降低數(shù)據(jù)庫(kù)的負(fù)載。
參考如下文章: http://www.linuxjournal.com/article/7451?page=0,1
6.Bad Sql會(huì)摧毀系統(tǒng)的CPU,尤其在使用IN查詢時(shí),一定要確保array里面數(shù)據(jù)是唯一的,且不能有大量數(shù)據(jù)。
HTTP Request:
1.調(diào)節(jié)apache增大服務(wù)器并發(fā)處理連接數(shù)
2.壓縮js/css減少客戶并發(fā)請(qǐng)求連接數(shù)(apache/nginx的gzip配置)
3.盡量使用離線數(shù)據(jù)庫(kù),少調(diào)用遠(yuǎn)程http service(geoip service, google map...).至少要設(shè)置合理的請(qǐng)求超時(shí)時(shí)間。
4.圖片、靜態(tài)資源用專(zhuān)用的服務(wù)器
WEB server:
1.apache+php->ningx+(php+fpm)
2.haproxy, 設(shè)置請(qǐng)求隊(duì)列queue, 比如50,這樣可以起到緩沖和保護(hù)web server的作用,效果明顯
3.添加web server, haproxy負(fù)載均衡
( 多服務(wù)器注意session/cache放在數(shù)據(jù)庫(kù)或者memcache中,代碼補(bǔ)丁注意同步, 動(dòng)態(tài)生成或者管理員加載的資源注意同步)
Code:
1.避免無(wú)效循環(huán)
2.避免無(wú)效鏈接請(qǐng)求
3.設(shè)計(jì)上注意不要產(chǎn)生單個(gè)服務(wù)器的文件
4.設(shè)計(jì)上注意不要產(chǎn)生大量的小文件,否則可能會(huì)引起inode資源耗盡
5.設(shè)計(jì)上注意不要把大量營(yíng)銷(xiāo)郵件的發(fā)送和單個(gè)業(yè)務(wù)郵件混淆在一起,另外批量郵件的產(chǎn)生和發(fā)送邏輯要分開(kāi)
6.最好把營(yíng)銷(xiāo)郵件的發(fā)送以調(diào)用第三方專(zhuān)業(yè)郵件服務(wù)的形式完成。這樣可以避免垃圾郵件和檢查無(wú)效郵件
to be continued.
1.數(shù)據(jù)庫(kù)可以適當(dāng)設(shè)計(jì)一些冗余字段來(lái)減少聯(lián)合查詢
2.經(jīng)常查詢的字段要建立索引
3.查詢內(nèi)容盡量簡(jiǎn)潔, 比如cakephp中的查詢盡量設(shè)置$this->recursive=-1,并指定fields.
4.數(shù)據(jù)庫(kù)用單獨(dú)的服務(wù)器,有條件的常用查詢數(shù)據(jù)單獨(dú)分庫(kù)
5.把session等數(shù)據(jù)放在Memcache而不是數(shù)據(jù)庫(kù)中既能滿足多服務(wù)器之間共享也能降低數(shù)據(jù)庫(kù)的負(fù)載。
參考如下文章: http://www.linuxjournal.com/article/7451?page=0,1
6.Bad Sql會(huì)摧毀系統(tǒng)的CPU,尤其在使用IN查詢時(shí),一定要確保array里面數(shù)據(jù)是唯一的,且不能有大量數(shù)據(jù)。
HTTP Request:
1.調(diào)節(jié)apache增大服務(wù)器并發(fā)處理連接數(shù)
2.壓縮js/css減少客戶并發(fā)請(qǐng)求連接數(shù)(apache/nginx的gzip配置)
3.盡量使用離線數(shù)據(jù)庫(kù),少調(diào)用遠(yuǎn)程http service(geoip service, google map...).至少要設(shè)置合理的請(qǐng)求超時(shí)時(shí)間。
4.圖片、靜態(tài)資源用專(zhuān)用的服務(wù)器
WEB server:
1.apache+php->ningx+(php+fpm)
2.haproxy, 設(shè)置請(qǐng)求隊(duì)列queue, 比如50,這樣可以起到緩沖和保護(hù)web server的作用,效果明顯
3.添加web server, haproxy負(fù)載均衡
( 多服務(wù)器注意session/cache放在數(shù)據(jù)庫(kù)或者memcache中,代碼補(bǔ)丁注意同步, 動(dòng)態(tài)生成或者管理員加載的資源注意同步)
Code:
1.避免無(wú)效循環(huán)
2.避免無(wú)效鏈接請(qǐng)求
3.設(shè)計(jì)上注意不要產(chǎn)生單個(gè)服務(wù)器的文件
4.設(shè)計(jì)上注意不要產(chǎn)生大量的小文件,否則可能會(huì)引起inode資源耗盡
5.設(shè)計(jì)上注意不要把大量營(yíng)銷(xiāo)郵件的發(fā)送和單個(gè)業(yè)務(wù)郵件混淆在一起,另外批量郵件的產(chǎn)生和發(fā)送邏輯要分開(kāi)
6.最好把營(yíng)銷(xiāo)郵件的發(fā)送以調(diào)用第三方專(zhuān)業(yè)郵件服務(wù)的形式完成。這樣可以避免垃圾郵件和檢查無(wú)效郵件
to be continued.
您可能感興趣的文章:
- Javascript前端優(yōu)化代碼
- 通過(guò)循環(huán)優(yōu)化 JavaScript 程序
- js尾調(diào)用優(yōu)化的實(shí)現(xiàn)
- 淺析JavaScript異步代碼優(yōu)化
- JavaScript關(guān)于提高網(wǎng)站性能的幾點(diǎn)建議(一)
- JavaScript提高網(wǎng)站性能優(yōu)化的建議(二)
- JS 網(wǎng)站性能優(yōu)化筆記
- 詳解網(wǎng)站中圖片日常使用以及優(yōu)化手法
- 利用javascript解決圖片縮放及其優(yōu)化的代碼
- 圖片該如何優(yōu)化來(lái)提高網(wǎng)站性能
相關(guān)文章
ASCII碼對(duì)照表以及各個(gè)字符的解釋(精華版)
ASCII(American Standard Code for Information Interchange,美國(guó)信息互換標(biāo)準(zhǔn)代碼)是一套基于拉丁字母的字符編碼,共收錄了 128 個(gè)字符,用一個(gè)字節(jié)就可以存儲(chǔ),它等同于國(guó)際標(biāo)準(zhǔn) ISO/IEC 6462020-03-03
Jenkins定時(shí)構(gòu)建語(yǔ)法規(guī)則及時(shí)間設(shè)置
這篇文章主要為大家介紹了Jenkins定時(shí)構(gòu)建時(shí)間設(shè)置,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
關(guān)于使用mvn deploy命令將本地jar包上傳到maven私服的問(wèn)題(收藏)
這篇文章主要介紹了使用mvn deploy命令將本地jar包上傳到maven私服,分享本篇教程可以幫助多數(shù)朋友少走彎路,本文具有很好的收藏價(jià)值,需要的朋友可以參考下2022-03-03
Postman傳遞對(duì)象參數(shù)(包含有集合對(duì)象)
postman通常需要傳遞各式各樣的參數(shù),本文主要介紹了Postman傳遞對(duì)象參數(shù)(包含有集合對(duì)象),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
git push 本地項(xiàng)目推送到遠(yuǎn)程分支的方法(git命令版)
這篇文章主要介紹了git push 本地項(xiàng)目推送到遠(yuǎn)程分支的方法(git命令版),需要的朋友可以參考下2020-09-09
Prompt 編程產(chǎn)生背景技術(shù)原理應(yīng)用實(shí)例解析
這篇文章主要為大家介紹了Prompt 編程產(chǎn)生背景技術(shù)原理應(yīng)用實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
關(guān)于rpc長(zhǎng)連接與短連接的思考記錄
文章總結(jié)了RPC項(xiàng)目中長(zhǎng)連接和短連接的處理方式,包括RPC和HTTP的長(zhǎng)連接與短連接的區(qū)別、TCP的?;顧C(jī)制、客戶端與服務(wù)器的連接模式及其利弊分析,文章強(qiáng)調(diào)了在實(shí)際應(yīng)用中需要根據(jù)具體情況選擇長(zhǎng)連接還是短連接,并討論了負(fù)載均衡器在RPC中的作用2025-01-01

