開發項目上有個短信發送的問題,
客戶端提交到 /sms.php的請求 然後sms.php在curl post到sms運營商那兒去,
雖然少量沒問題 但是高並發(某時間段)的話有可能同一時間幾百個人請求,那麼服務器也要在同一時間curl post幾千個請求到運營商那兒去 高帶寬還行 稍微低點就會照成很多請求失敗,
因為隊列用不來 研究了很久 把任務裝進redis裡面 然後通過 php cli來循環讀取然後挨個發送 感覺php cli不靠譜 再則挨個挨個發 豈不是有時候有的短信要等很久才會收到
就是再次問問各位大神 有什麼好的辦法解決
環境php 5.6 apache windows 2008(linux不熟悉 之前做。net開發的 所以大部分都是用的win平台)
謝謝了各位前輩
首先要查看一下運營商那同時並發能有多少,這樣它就是你的一個最大值
然後隊列中就可以設置多個消費者client來從隊列中拿消息,然後發送短信。
逐步調整消費者client的個數來測試達到的最大性能值。