Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >服务器响应是否在并行请求上变成串行响应?

服务器响应是否在并行请求上变成串行响应?
EN

Server Fault用户
提问于 2013-08-27 00:20:50
回答 1查看 1.2K关注 0票数 0

让我们拥有一个由Nginx提供的web应用程序,它可以收听端口80

当两个或多个用户试图访问该应用程序的某个URL时,这个响应会花费大量时间。例如,十个用户试图在/give_me_some_charts页面和服务器响应100秒内加载单用户请求。

每个用户都试图通过端口80访问应用程序。我相信服务器(在我们的示例中是Nginx)会阻塞该端口,直到发送响应为止。因此,处理10个用户应采用10 users * 100 seconds == 1000 seconds

但是在Nginx中有一些特性叫做平衡。现在我不确定服务器是如何处理并行请求的。

那么,服务器如何处理并行请求及其响应方式呢?Nginx的平衡功能是什么?

EN

回答 1

Server Fault用户

发布于 2013-08-27 01:03:16

我对nginx还不太确定(还没有理由使用它),但是几乎所有服务器都提供类似于下面的端口功能的服务:

  • 侦听器进程打开端口并等待连接。
  • 一旦建立了新的连接,该连接(套接字)就会被传递给另一个进程或线程。
  • “主”进程返回到等待另一个连接。

在完成当前连接之前,服务器不会阻止所有进一步的连接。如果是这样的话,即使是稍微繁忙的网站也会变得无法使用。上面概述的代码块通常尽可能紧凑(小),因此它完成得越快越好。一些生成新进程的服务器(如Apache)也会保留空闲的“子”进程,这样在客户端连接时它们就不必执行缓慢的fork系统调用了。

这允许同时连接多个(数十个、数百个甚至数千个)客户端。如果10个用户连接到您的网站,那么具有10个单独线程或进程同时为这些客户端服务的web服务器。所有请求是否在100秒内完成,还是花费更长时间,主要取决于代码正在做什么。(无论他们是在争取CPU时间、阻止文件系统或数据库调用等等)

快速的网络搜索表明,nginx的“平衡”功能可能与它向后端服务器代理请求的能力有关(将其用作负载均衡器),而不是它同时处理多个客户端的能力。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/534044

复制
相关文章
Android Source Generator错误:无法找到基本名称xxx的包
File > Project Structure > facets > 添加Android-Gradle > 关闭并重新打开项目并重建.
可定
2020/04/20
8470
[1207]ImportError:无法导入名称“ RandomizedLogisticRegression”
ImportError:无法导入名称“ RandomizedLogisticRegression”
周小董
2023/10/10
4240
Netty在Dubbo中的线程名称
在项目中,我们会使用RocketMQ和Dubbo.前者用于发送或消费消息,后者用于两个模块之间的接口调用.
书唐瑞
2022/06/02
1.3K0
Netty在Dubbo中的线程名称
python包urllib名称
经查询,在python3.5版本中是使用urllib.request,而在python2.7中则是urllib2
努力在北京混出人样
2019/02/18
9850
破解在idea中无法加载spring cloud config中多环境配置之谜
1、config 默认Git加载 通过spring.cloud.config.server.git.uri指定配置信息存储的git地址,比如:https://github.com/xxx/config-repo
算法之名
2019/08/20
2.3K0
破解在idea中无法加载spring cloud config中多环境配置之谜
[1207]ImportError:无法导入名称“ RandomizedLogisticRegression”
ImportError:无法导入名称“ RandomizedLogisticRegression”
周小董
2023/10/10
4060
PHP中Redis扩展无法加载问题
phpredis编译出来的redis.so也需要拷贝到"/usr/lib64/php/modules/"中;
叫我可儿呀
2019/11/16
2K0
Idea 中图片资源无法加载问题
今天在看一个 Java 的小游戏时,遇到项目图片资源无法加载的问题,运行显示界面如图
攻城狮杰森
2022/06/03
2.9K0
Idea 中图片资源无法加载问题
springboot测试中主程序中能加载bean测试中无法加载bean
如遇到springboot版本的问题导致bean类无法注入到项目中,可能是注解和springboot版本不匹配导致启动类启动时扫描不到相应的bean类
一个风轻云淡
2022/11/13
1.8K0
springboot测试中主程序中能加载bean测试中无法加载bean
无法在R里面加载相应版本的python
reticulate可以实现R与python的相互切换,即在R里面调用python的脚本、模块等。
生信编程日常
2020/11/24
2.4K0
在Intellij IDEA中修改模板中user变量名称
默认IDEA取的是当前系统的用户名作为这个变量的,但是如果系统的用户名不是你期望的用户名,那么修改系统的用户名在IDEA中也还是使用的是旧的用户名。
前Thoughtworks-杨焱
2021/12/08
3.6K0
java中无法解析为类型_java无法解析导入的包
.odt文件是openoffice软件产生的文档格式,可以直接用office打开,这其实就是一个压缩包,可以使用解压软件打开,里面有一个content.xml文件,这个文件内有<text:p>标签,标签内就是展示出来的内容。
全栈程序员站长
2022/10/28
4.8K0
java:加载jar包中的动态库
java中System.load(String)方法可以加载一个动态库,有时为了便于管理和发行,我们会把动态库打包jar包一起发行。这时如何加载jar包中的动态库呢? 原理也很简单,就是先把动态库解
10km
2019/05/25
3.9K0
Gravatar 头像无法加载
由于众所周知的原因,头像服务器多数都无法正常访问,不管是http还是https。为了解决头像问题有两个办法:
obaby
2023/02/22
1.5K0
制作动态framework与静态framework的那些坑
今天我们来看看制作framework---dynamic和static这两中库需要注意的
大话swift
2020/05/08
2.1K0
制作动态framework与静态framework的那些坑
面试题:unittest加载测试用例名称必须以test开头,是否可以定制化
前几天,在一个群里,一个人问了,这样一个问题。说他面试遇到一个面试官,问他,为啥unittest的测试用例要用test 开头,能不能定制化。他不知道为啥。
雷子
2021/03/15
1.3K0
面试题:unittest加载测试用例名称必须以test开头,是否可以定制化
Excel小技巧58: 在公式中快速应用名称
在Excel中,名称是一个非常好的功能,不仅能够简化公式,而且让公式的可读性更好。本文介绍一个小技巧,可以让定义的名称快速应用到公式中。对于使用单元格引用的公式,这是一个非常好应用名称的方法。
fanjy
2020/09/27
1.1K0
Excel小技巧58: 在公式中快速应用名称
问题idea maven无法加载导入子模块的依赖包的解决
还有个问题,如果使用自己下载的maven版本,会出现无法导入maven工程的错误;提示如下
JQ实验室
2022/06/09
2.8K0
在启动jar包时,发现内存不足无法启动
发现有一command为abrt-hook-ccpp的进程占用较多CPU和内存资源,如上图所示,abrt是AUTOMATIC BUG REPORTING TOOL的缩写。 解决方案 为了解决该问题,可以关闭abrt-hook-ccpp,具体操作如下:
高大北
2022/06/14
2.7K0
在启动jar包时,发现内存不足无法启动
点击加载更多

相似问题

将每个函数应用于列表Haskell的每个元素

24

如何在Haskell中将函数应用于列表中的每个元素?

119

应用于Haskell中嵌套列表的类似函数

12

将函数应用于Haskell中的元素列表

12

如何将高阶函数应用于Haskell中的有效函数?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文