HTTP Transaction Delays
w客户端、服务器超载
HTTP The Definitive Guide

与建立TCP连接以及传输请求和相应报文的时间相比,事务处理的时间是很短的。除非客户端或服务器超载或正在处理复杂
的动态资源,否则HTTP时延主要就是由TCP网络时延构成的。
Notice that the transaction processing time can be quite small compared to the time required to set up
TCP connections and transfer the request and response messages. Unless the client or server is
overloaded or executing complex dynamic resources, most HTTP delays are caused by TCP network
delays.
There are several possible causes of delay in an HTTP transaction:
1.
A client first needs to determine the IP address and port number of the web server from the
URI. If the hostname in the URI was not recently visited, it may take tens of seconds to
convert the hostname from a URI into an IP address using the DNS resolution infrastructure.
[3]
[3]
Luckily, most HTTP clients keep a small DNS cache of IP addresses for recently accessed sites.
When the IP address is already "cached" (recorded) locally, the lookup is instantaneous. Because
most web browsing is to a small number of popular sites, hostnames usually are resolved very
quickly.
2.
Next, the client sends a TCP connection request to the server and waits for the server to send
back a connection acceptance reply. Connection setup delay occurs for every new TCP
connection. This usually takes at most a second or two, but it can add up quickly when
hundreds of HTTP transactions are made.
3.
Once the connection is established, the client sends the HTTP request over the newly
established TCP pipe. The web server reads the request message from the TCP connection as
the data arrives and processes the request. It takes time for the request message to travel over
the Internet and get processed by the server.
4.
The web server then writes back the HTTP response, which also takes time.
The magnitude of these TCP network delays depends on hardware speed, the load of the network and
server, the size of the request and response messages, and the distance between client and server. The
delays also are significantly affected by technical intricacies of the TCP protocol.
HTTP Transaction Delays的更多相关文章
- mybatis源码解读(四)——事务的配置
上一篇博客我们介绍了mybatis中关于数据源的配置原理,本篇博客介绍mybatis的事务管理. 对于事务,我们是在mybatis-configuration.xml 文件中配置的: 关于解析 < ...
- Method for training dynamic random access memory (DRAM) controller timing delays
Timing delays in a double data rate (DDR) dynamic random access memory (DRAM) controller (114, 116) ...
- JDBC Tutorials: Commit or Rollback transaction in finally block
http://skeletoncoder.blogspot.com/2006/10/jdbc-tutorials-commit-or-rollback.html JDBC Tutorials: Com ...
- InnoDB:Lock & Transaction
InnoDB 是一个支持事务的Engine,要保证事务ACID,必然会用到Lock.就像在Java编程一下,要保证数据的线程安全性,必然会用到Lock.了解Lock,Transaction可以帮助sq ...
- Basic Tutorials of Redis(8) -Transaction
Data play an important part in our project,how can we ensure correctness of the data and prevent the ...
- [解决方案]CREATE DATABASE statement not allowed within multi-statement transaction.
CREATE DATABASE statement not allowed within multi-statement transaction. 刚开始报这个错误的时候,我上度娘搜了一下. 别人是在 ...
- OLTP(on-line transaction processing)与OLAP(On-Line Analytical Processing)
OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing).联机分析处理OLAP(On-Line Analytical ...
- SQLIte Transaction
基本概念 事务(Transaction)是指一个或多个更改数据库的扩展.例如,如果您正在创建一个记录或者更新一个记录或者从表中删除一个记录,那么您正在该表上执行事务.重要的是要控制事务以确保数据的完整 ...
- Transaction事务传播行为种类PROPAGATION_REQUIRED
事务传播行为种类 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播: 表1事务传播行为类型 事务传 ...
随机推荐
- Building and running Node.js for Android
转自: http://www.goland.org/nodejsonandroid/ Building and running Node.js for Android October 14, 2014 ...
- HttpURLConnection上传文件
HttpURLConnection上传文件 import java.io.BufferedReader; import java.io.DataInputStream; import java.io. ...
- python 使用urllib.urlopen超时问题的解决方法
准备写一个python脚本抓取网页数据,前面抓了几个都没有什么问题,但总会抓取不完整,在中间过程中没有反应,发现执行urlopen的地方总是提示超时,百度了一下,因为我使用的是urllib不是urll ...
- makefile之override
override指示符 通常在执行 make 时,如果通过命令行定义了一个变量,那么它将替代在 Makefile中出现的同名变量的定义. 就是说,对于一个在 Makefile 中使用常规方式(使用&q ...
- Nokia Imaging SDK
Nokia Imaging SDK 目前为 beta 版本,是诺基亚在自己的图像应用中使用的技术同时提供给开发者 使用.这是一个运行在手机设备上处理图片数据的高效的类库.功能包括 JEPG 图片的编码 ...
- input 和<fmt:formatDate>的结合使用
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <inpu ...
- myeclipse 上安装 Maven3<转>
环境准备: JDK 1.6 Maven 3.0.4 myeclipse 8.6.1 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Maven是 Apache 下的一个项目,目前最新版 ...
- maven远程私服发布jar包
配置项目POM.xml <distributionManagement> <repository> <id>nexus-releases</id> &l ...
- Linux - 用户管理常用命令
1.查看Linux已经存在的用户: [root@CMCC_91 ~]# cut -d : -f 1 /etc/passwd [root@CMCC_91 ~]# cat /etc/passwd |awk ...
- 燕十八mysql笔记
mysql复习 一:复习前的准备 1:确认你已安装wamp 2:确认你已安装ecshop,并且ecshop的数据库名为shop 二 基础知识: 1.数据库的连接 mysql -u -p -h -u 用 ...