Chrome 处理长连接时遇到的一些问题

最近在原有的 Webit 基础上开发了一个基于 HTTP 协议和 RESTful API 的消息推送程序。程序采用 Comet 模式实现 Server Push。

既然是 HTTP 协议,我便写了一个简单的 Web 客户端用于测试。这里记录一下其间遇到的一些问题。

  1. 多个标签页之间的长连接相互阻塞,通过开发者工具可以看到连接在 Stalled 这一阶段等待了 20 秒。
  2. 长连接在多个标签页之间跳跃,导致消 ...

Linux无法产生core dump的原因

  一、要保证存放Coredump的目录存在且进程对该目录有写权限。存放Coredump 的目录即进程的当前目录,一般就是当初发出命令启动该进程时所在的目录。但如果是通过脚本启动,则脚本可能会修改当前目录,这时进程真正的当前目录就会与当初执行脚本所在目录不同。这时可以查看”/proc/进程pid>/cwd“符号链接的目标来确定进程真正的当前目录地址。通过系统服务启动的进程也可通过这一方法查看 ...

automake, autoconf 使用详解

文章转自: http://www.laruence.com/2009/11/18/1154.html

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了.

在本文中,将给大家介绍如何使用autoconf和automake两 ...

Keep Alive 对 HTTPS 性能的巨大影响

最近为 Webit 添加了 HTTPS 支持。为了了解 HTTPS 下的性能,我重新对 Webit 进行了测试。

结果基本在预料之中。不过,也发现了一些其他的以往未能了解的东西。

下面是测试结果:

#ab -n 10000 -c 100 https://127.0.0.1:1039/

Requests per second:    891.10 [#/sec] (mean)

#ab -n ...

知乎的显著缺陷:模式与目标的背离

知乎的模式是什么?这个问题难以一言蔽之,但是其最核心的部分就是投票。无论是问题或者回答,由用户给出肯定(赞同)或者否定(没有帮助)的评价,并根据投票结果进行排序。

知乎的目标是什么?一个最好的中文问答社区。换言之,试图让知乎回答一切问题。

问答社区的这种运作模式在某些垂直社区运作得非常不错,例如 StackOverflow。其原因有两个:

  1. 问题往往是有标准答案的。
  2. 用户的观点相对而言是统一的。

然而,当知乎 ...

TCP选项:TCP_NODELAY和TCP_CORK

Nagle算法

根据创建者John Nagle命名。该算法用于对缓冲区内的一定数量的消息进行自动连接。该处理过程(称为Nagling),通过减少必须发送的封包的数量,提高了网络应用 程序系统的效率。Nagle算法,由Ford Aerospace And Communications Corporation Congestion Control in IP/TCPinternetworks(IETF ...

HTTP 协议缓存机制详解

浏览器第一次请求流程图:

浏览器再次请求时:

Expires策略:Expires是Web服务器响应消息头字段,在响应http请求时告诉浏览器在过期时间前浏览器可以直接从浏览器缓存取数据,而无需再次请求。不过Expires 是HTTP 1.0的东西,现在默认浏览器均默认使用HTTP 1.1,所以它的作用基本忽略。Expires 的一个缺点就是,返回的到期时间是服务器端的时间,这样存在一个问题,如果客户端 ...