服务器承受能力跟请求内容大小有关吗?
比如我有一个接口,接收客户端的body json传参,但是呢我在接口的开头就直接return success了,那么客户端传过来的json大小是不是不影响服务器了
有关系。其实这个数据包已经到了你的服务器了。网络带宽。
肯定影响哇。
带宽哇!请求传输数据越小越好
平时说的宽度大小,主要是下载吧,往服务器发数据的带宽不知道是多少
网络传输是需要时间的,时间的长短看带宽和报文大小。浏览器或postman响应时间里有个download可以查看客户端从服务器下载的耗时
带宽
哪里买的服务器?一般可以云平台监控里面看一下,带宽是不是用满了。如果是 nginx 或 apache 都是获取完整请求后才会调用 fastcgi 或 sapi ,这跟你在哪里 return 或 exit 都没关系了。包括上传文件都会占用带宽,所以如果是上下行文件可以直接授权前端上传到 oss 类似的存储服务,服务器再去相同云服务的 oss 上取,这样能节省应用服务器的公网带宽(但会占用 oss 的带宽虽然也会影响费用但会降低对应用服务的影响)。
除了带宽,还受大量数据传输影响的就是请求连接数,没接完数据一般都会保持连接,造成慢请求,连接数就上去,进程数也跟着上去,大量数据被反序列化,负载和内存占用都跟着提高。所以尽量平衡一下每次请求要处理的数据量,让处理逻辑快速响应,或者将耗时的大数据量传输处理拆分出去,尽量用队列或定时脚本异步进行处理。
代码中return已经到PHP程序了,在nginx直接返回不走PHP可以节省一些php并发性能,关于body大小,nginx和php都有默认配置项client_max_body_size、client_body_buffer_size、post_max_size限制最大值,正常情况影响可以忽略,攻击是另外一回事了
跟宽带有关,内容大小也相当于传输的数据,所以跟请求内容大小有关