解決PHP、MYSQL超時(shí)問題心得
技術(shù)支持服務(wù)電話:15308000360 【7x24提供運(yùn)維服務(wù),解決各類系統(tǒng)/軟硬件疑難技術(shù)問題】
1、找出超時(shí)的部分,程序分段分單元測試。2、mysql超時(shí),首先想到建立索引,我的程序在建立索引后只用了4.7秒跑完了之前要用1600秒才能完成的工作(13萬條數(shù)據(jù))。
3、優(yōu)化mysql的查詢、插入和修改操作,請參考向mysql數(shù)據(jù)庫中插入數(shù)據(jù)的速度測試 處理超時(shí)這篇博文。
4、php超時(shí),優(yōu)化程序邏輯,將大型數(shù)據(jù)分割成小型數(shù)據(jù)執(zhí)行(利用循環(huán))。
5、php程序一定會(huì)超時(shí)時(shí),在php開始部分設(shè)置 set_time_limit(0); 可延遲超時(shí),如果時(shí)間太長還是會(huì)報(bào)time out的錯(cuò)誤,這可能和web服務(wù)器有關(guān)。
6、將php程序放在服務(wù)器上用命令行的方式執(zhí)行。
7、要在php程序和mysql數(shù)據(jù)查詢中取得效率上的平衡,對php效率高的代碼不一定適合mysql的效率原則,反之亦然。