`
文章列表
flickr:http://wangxinchun.iteye.com/blog/2373125 目前flickr 方案存在的问题: 性能较差,每次都要连接数据库db,高并发下db吃力   新方案: 数据库每次批量返回多个id记录;双Buffer请求消峰,增加可用性   设计思路: 1、利用数据库的锁和事务 2、每次获取返回本次拿到min_id,max_id,step,batch_size,其中有效的记录是:id = min_id + n*step ,并且 id<=max_id 3、为了削弱波峰请求的影响,双Buffer机制,当id 取到 id > (min ...
全局ID的核心需求: 1、全局唯一 2、趋势递增(ID如果做为索引,有序非常重要) 3、单调递增(下一次调用的id一定要大于本次的id)   在大型互联网应用中,随着用户数的增加,为了提高应用的性能,我们经常需要对数据库进行分库分表操作。在单表时代,我们可以完全依赖于数据库的自增ID来唯一标识一个用户或数据对象。但是当我们对数据库进行了分库分表后,就不能依赖于每个表的自增ID来全局唯一标识这些数据了。因此,我们需要提供一个全局唯一的ID号生成策略来支持分库分表的环境。下面来介绍两种非常优秀的解决方案:   1. 数据库自增ID——来自Flicker的解决方案 因为MySQL ...
http://www.cnblogs.com/tgycoder/p/5410057.html     B-树 B-树,这里的 B 表示 balance( 平衡的意思),B-树是一种多路自平衡的搜索树 它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点。下图是 B-树的简化图. B-树有如下特点:
目的:发起一个携带文件和字段的http请求,理解http 通过 boundary分割域 实现文件上传功能   浏览器:    客户端发送的请求: 结论: http 文件上传,http协议通过定义:boundary=---------------------------7e131a1ade2200 来实现每个字段域直接的分割 针对普通的文本域,比如:username,password等    -----------------------------7e131a1ade2200 Content-Disposition: form-data; name="use ...
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。 我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协 ...
目标:使用iotop&top&jstack命令定位 io高的应用以及线程信息 实现:load过高但是cpu占用率低的模拟与验证 一般load高,说明系统大量的线程在等待执行 cpu  us sy 显示都不高,并且wa 占用高,说明系统在等待大量的io操作   1、安装iotop sudo yum install iotop   2、top命令显示   从top命令可以看出,系统load 6.43,对于4 cpu的系统来说,已经是超载,另外 wa 60%,可以确定系统的线程在等待io操作 其中 线程 2492 比较可疑 top -H -p 2492   ...
目标:实现一个http协议的demo服务器 实现:启动一个ServerSocket,监听特定端口,然后浏览器请求,返回页面   代码实现: package com.socket.bio.socket; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import jav ...
Explain语法    执行计划包含的信息:[10列数据项] id 包含一组数字,表示查询中执行select子句或操作表的顺序   id相同,执行顺序由上至下
目标:通过socket 模拟HTTP协议连接 tomcat,做一次POST请求       请求数据: POST /index.jsp HTTP/1.1 Host:192.168.237.230 Content-Type:application/x-www-form-urlencoded Connection: close Content-Length:42 username=xinchun.wang&password=123456.....   响应数据: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set- ...
目标:通过socket 模拟HTTP协议连接 tomcat,做一次GET请求   HTTP 协议的格式:    request: GET /index.jsp?username=xinchun.wang&password=123456 HTTP/1.1 Host:192.168.237.230 Connection: close response: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=2D3FE2C8EA372E3ACC69C48E12348B44; ...

测试文章锦集

    博客分类:
  • test
gro:分流工具 http://chuansong.me/n/341279651545
参考:http://blog.csdn.net/defonds/article/details/8782785 int 值和byte[]数组直接的转换:   public static int byteArrayToInt(byte[] b) {  
背景: 重构后需要通过调用dubbo接口获取数据,数据量比较大,需要做缓存   缓存策略: 1、客户端缓存       存在的问题:                         缓存数据多份分散在不同的应用服务器上,应用机器越多,总占用缓存空间就越大;                       数据量很高的情况,这种方案完全不可行
转载链接:https://www.zhihu.com/question/22677800/answer/63806275 首先介绍下短链接和长连接的区别: 短连接连接->传输数据->关闭连接 比如HTTP是无状态的的短链接,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。 具体就是 浏览器client发起并建立TCP连接 -> client发送HttpRequest报文 -> server接收到报文->server handle并发送HttpResponse报文给前端,发送完毕之后立即调用socket.close方法->c ...
避免误用 Redis   Redis 是目前 NoSQL 领域的当红炸子鸡,它象一把瑞士军刀,小巧、锋利、实用,特别适合解决一些使用传统关系数据库难以解决的问题。但是 Redis 不是银弹,有很多适合它解决的问题,但是也有很多并不适合它解决的问题。另外,Redis 作为内存数据库,如果用在不适合的场合,对内存的消耗是很可观的,甚至会让系统难以承受。 我们可以对系统存储使用的数据以两种角度分类,一种是按数据的大小划分,分成大数据和小数据,另一种是按数据的冷热程度划分,分成冷数据和热数据,热数据是指读或写比较频繁的数据,反之则是冷数据。 可以举一些具体的例子来说明数据的大小和冷热属性。比如 ...
Global site tag (gtag.js) - Google Analytics