天天看點

雲伺服器以PHP腳本通過IIS伺服器提供HTTP接口,供連接配接到TCP伺服器的裝置查詢mysql資料庫占存儲的裝置以及使用者

作者:物聯網全棧開發

雲伺服器以PHP腳本通過IIS伺服器提供HTTP接口,供連接配接到TCP伺服器的裝置查詢mysql資料庫占存儲的裝置以及使用者資訊。

前一段時間,用python腳本編寫的雲伺服器代碼監控到TCP伺服器連接配接卡頓,導緻裝置無法及時上報狀态到雲伺服器的狀況。

浏覽器直接打開HTTP查詢接口,通過wireshark抓包分析,發現HTTP響應的時間比較長。

浏覽器送出請求到收到伺服器的應答的間隔時間為11秒。

懷疑可能是mysql資料庫的資料量比較大,mysql查詢慢所導緻。

在php代碼中,計算mysql_query的執行時間,發現在1秒内就能執行完成。

我深思之後,覺得應該是因為IIS伺服器在收到HTTP請求之後,不能及時處理。

跟CPU的處理能力有關,但是CPU的占用率在10%之内,并沒有發揮最大性能。

難道是因為IIS是單程序處理?在網上查找相關資料,果然有收獲。

每個應用程式池的單一工作程序,能夠大約承受30-50個左右的并發,如果超出此并發數量,可能會出現IIS無法響應、或響應時間明顯變長的問題。通過合理設定應用程式池的最大工作程序數,可顯著提高IIS應對高并發的能力,減少網站響應時間。

通過IIS設定把應用程式池的最大工作程序數由1改為2,HTTP請求的響應時間立馬下降到了毫秒級。

裝置又恢複了與伺服器暢快絲滑的通信。

雲伺服器以PHP腳本通過IIS伺服器提供HTTP接口,供連接配接到TCP伺服器的裝置查詢mysql資料庫占存儲的裝置以及使用者
雲伺服器以PHP腳本通過IIS伺服器提供HTTP接口,供連接配接到TCP伺服器的裝置查詢mysql資料庫占存儲的裝置以及使用者
雲伺服器以PHP腳本通過IIS伺服器提供HTTP接口,供連接配接到TCP伺服器的裝置查詢mysql資料庫占存儲的裝置以及使用者

繼續閱讀