天天看点

云服务器以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数据库占存储的设备以及用户

继续阅读