tcp的一些状态和netstat

最近才开始认识看《TCP/IP入门经典》,发现很多基础的东西都是精髓的东西,类似tcp/ip协议的设计从系统的角度看就是一种很精良的设计。它的分层,它协议制定中的容错处理,都很值得借鉴。恰好今天在用netstat,就一起总结下。

阅读全文…

前端优化原则

内容主要来之雅虎的前端优化原则:http://developer.yahoo.com/performance/rules.html
对于部分内容做了解释,感觉其中的部分原则是相同的,遵循了一种一条,自然就遵循了另一条,例如第一条和第二十条,同时还有一些原则是单纯的优化而优化,大可从整体设计风格和设计原则上考虑,例如第15条。

阅读全文…

系统设计 — 性能的考量点

一般我们考量一个系统的性能如何,主要有以下这么几点:
1.响应时间:系统完成一次外部请求所需的时间
2.响应性:系统响应请求的速度有多快,这点有点偏用户体验方面,若是请求处理期间,系统一直处在等待状态,那么系统的响应性和响应时间是相等,但若是系统在接受到请求后,给用户一个提示表明自己已经接受到请求了,或是给出一个响应的进度条,那么响应性相比较之前要好些。
3.等待时间:获得系统任何响应的最小时间,例如返回一个201已经建立链接等,这个也是在做系统间服务调用时,尽量的减少远程调用
4.吞吐量:给定时间内能处理多大的请求量,一般吞吐量上升,那么响应时间都会随之下降,具体在设计时候寻找的是一个平衡。从用户角度而言,响应性比响应时间更重要,所以为了提供响应性,牺牲一些响应时间或者吞吐量是值得的。
5.负载:系统当前负荷的表述,也就是当前有多少个用户和系统相连,一般伴随着其他性能同时出现,例如在10个用户的情况下响应时间是1秒,在20用户的情况下响应时间是2秒。
6.负载敏感度:也理解为系统的衰竭指数,两个系统A,B,在10个用户情况下,A是1秒,B是2秒,但是20个用户情况下,A是10秒,B是5秒,那么A系统的敏感度比较高,也就是系统衰竭的比较快。
7.效率:性能除以资源,在一个双CPU系统的性能是20tps,一个四核系统的性能是30tps,那么就代表前者效率更高
8.容量:最大负载或是吞吐量的指标,可以是一个绝对大的值,或是性能衰竭至低于一个可接受的阀值之前的临界点。
9.可伸缩性:向系统增加资源对系统性能的影响,一般添加资源后,系统性能是有所提升的。伸缩分为两方面,垂直可伸缩性,通常指提高单个服务器的性能,加内存、CPU等操作。还有水平可伸缩性,就是添加服务器数目,我们更多讨论的是水平可伸缩性。

阅读全文…

struts2代码精巧设计之—类加载机制

我们知道官方版本的JVM实现,采用的是双亲加载机制,当需要加载一个类的时候,首先通过自定义的Classloader中查找是否已经加载了,若是没有找到再是SystemClassloader,再就是ExtClassLoader,最后实到BootstrapClassloader中查找,若是都没有,那么按照这个顺序再去尝试加载这个类,直到加载成功。

阅读全文…

Pages: 1 2 Next