鍍金池/ 問答/PHP/ 使用PHP大量采集數(shù)據(jù),如何提高訪問性能?

使用PHP大量采集數(shù)據(jù),如何提高訪問性能?

問題描述:
使用php開發(fā)的采集國外網(wǎng)站的數(shù)據(jù),以便進(jìn)行測試,數(shù)據(jù)保存為txt格式,存放在服務(wù)器上,當(dāng)需要訪問的時候,在使用php讀取txt中的數(shù)據(jù),并返回到用戶。
當(dāng)服務(wù)器運行一段時間以后,通過網(wǎng)址訪問服務(wù)器上的資源時,打開速度挺卡的,剛開始的時候還不會。
注:
網(wǎng)址跟之前網(wǎng)站的是一樣的,只是把頂級域名緩存我們自己的。
數(shù)據(jù)是觸發(fā)采集的,第一次會遠(yuǎn)程采集數(shù)據(jù)到本地,并返回給用戶,第二次才從本地讀取。

問題:
1.即使數(shù)據(jù)量超多的時候,也能做到秒開呢
2.瓶頸在哪?內(nèi)存還是IO
3.使用一段時間以后,打開速度會很卡,重啟服務(wù)器后會好多了
4.如果將數(shù)據(jù)保存到MySQL數(shù)據(jù)庫的時候,應(yīng)該會更卡吧,目前是純文本,只是訪問的時候,在通過一個簡單的路徑匹配算法,使用php去讀取文件,并返回給用戶
5.有沒有相關(guān)書籍可以學(xué)習(xí)下?
6.將PHP版本升級到php7,是否可以緩解?

回答
編輯回答
憶當(dāng)年

“在通過一個簡單的路徑匹配算法,使用php去讀取文件,并返回給用戶” -————是否可以通過url重寫直接做成靜態(tài)的

2018年9月11日 19:10
編輯回答
憶當(dāng)年

卡是不是讀取的文件很大

2017年3月20日 08:52
編輯回答
浪婳

小文件太多了, 肯定卡,反而我覺得放數(shù)據(jù)庫不會太卡,

2018年4月11日 05:41
編輯回答
孤毒

把文件切割呀,文件按日期進(jìn)行存儲

2017年1月26日 09:47
編輯回答
獨白

是不是PHP-FPM內(nèi)存泄漏導(dǎo)致內(nèi)存耗盡
是不是這個注釋沒去掉,未設(shè)置每個php-fpm進(jìn)程接受的請求數(shù)
未設(shè)置進(jìn)程就不會掛掉會不斷的累積占用內(nèi)存(一個請求退出會有部分信息留在進(jìn)程中,最終導(dǎo)致內(nèi)存耗盡)

;pm.max_requests = 500
2018年5月30日 19:26
編輯回答
安淺陌
  • 性能瓶頸可能提醒在:IO、帶寬、內(nèi)存、并發(fā)問題
  • 采集數(shù)據(jù)最好用MQ去采集。避免未知并發(fā)量導(dǎo)致的服務(wù)器崩潰
  • 對于直接讀取文本的,可以考慮直接訪問文本文件(類似讀取js、css靜態(tài)資源;不經(jīng)過php,減少額外性能消耗);并可考慮增加CDN
2017年4月8日 21:18