淘宝网每年的双11活动都是对其服务器性能的挑战。因为在这一天所有商品半价,购物的用户量剧增。做为淘宝网的高层更多的关心在线用户数,用户交易量,总交易金额等,做为一名技术人员,我们可能更关心当天系统的吞吐量、每秒钟点击率以及系统资源的消耗情况等,对!这就是系统的性能。那么性能的本质是什么呢?我试抓.....
分类:
其他好文 时间:
2014-12-19 11:51:59
阅读次数:
148
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据,则MapReduce为海量的数据提供了计算。Hadoop 容易开发和运行处理大...
分类:
其他好文 时间:
2014-12-19 10:07:54
阅读次数:
307
1. SQL优化的原则是:将一次操作需要读取的BLOCK数减到最低,即在最短的时间达到最大的数据吞吐量。
调整不良SQL通常可以从以下几点切入:
? 检查不良的SQL,考虑其写法是否还有可优化内容
? 检查子查询 考虑SQL子查询是否可以用简单连接的方式进行重新书写
? 检查优化索引的使用
? 考虑数据库的优化器
2. 避免出现SELECT * FROM table 语句,要明确查出...
分类:
数据库 时间:
2014-12-16 17:09:19
阅读次数:
263
VoltDB是一个革命性的新型数据库产品,被称作NewSQL数据库。它基于H-Store,号称比当前数据库产品的吞吐量高45倍,同时又具有很高的扩展性。它的特性主要有以下几点:Ø 高吞吐、低延迟:通过内存计算,存储过程和串行数据访问实现。Ø 可扩展性:自动分区和复制,保证性能和可扩展性。Ø 高可用性:同步的多主复制(在VoltDB中叫K-safety)。Ø 持久化:数据库快照与命令日志(c...
分类:
数据库 时间:
2014-12-13 15:11:43
阅读次数:
719
PS:下面是性能测试的主要概念和计算公式,记录下:一.系统吞度量要素:一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发...
分类:
其他好文 时间:
2014-12-12 18:17:02
阅读次数:
299
MetaQ(全称Metamorphosis)是一个高性能、高可用、可扩展的分布式消息中间件,思路起源于LinkedIn的Kafka,但并不是Kafka的一个Copy。MetaQ具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志数据传输等场景,目前在淘宝和支付...
分类:
Web程序 时间:
2014-12-10 22:42:01
阅读次数:
288
主机服务器架构利用的存储设计对主机和来宾的性能有着极大的影响。存储性能是驱动器、接口、控制器、缓存、协议、SAN、HBA、驱动程序和操作系统考虑事项的复杂混合体。通常,存储架构的整体性能是通过最大吞吐量、每秒最大IO操作数(IOPS)和延迟或响应时间来测量的。尽管这三个..
分类:
其他好文 时间:
2014-12-10 02:01:31
阅读次数:
226
没有人喜欢同步的代码,这会降低你的应用的吞吐量等性能指标,最坏的时候会挂起死机,但是即使这样你也没有太多选择。
很多理论和模式来实现多线程同步访问一个资源, 其中最著名常用的是读写锁ReadWriteLock,它是通过堵塞来降低多线程消费一个资源引起的竞争,理论上听起来不错,但是在现实中锁意味着性能慢,特别是有大量写线程的情况下。
Java 8 引入了一个新的读写锁叫StampedLock. ...
分类:
编程语言 时间:
2014-12-09 14:02:36
阅读次数:
223
常见的并发场景线程池并发最常见用于线程池,显然使用线程池可以有效的提高吞吐量。最常见、比较复杂一个场景是Web容器的线程池。Web容器使用线程池同步或者异步处理HTTP请求,同时这也可以有效的复用HTTP连接,降低资源申请的开销。通常我们认为HTTP请求时非常昂贵的,并且也是比较耗费资源和性能的,所...
分类:
编程语言 时间:
2014-12-03 00:14:02
阅读次数:
124
从这一节开始介绍锁里面的最后一个工具:读写锁(ReadWriteLock)。ReentrantLock 实现了标准的互斥操作,也就是一次只能有一个线程持有锁,也即所谓独占锁的概念。前面的章节中一直在强调这个特点。显然这个特点在一定程度上面减低了吞吐量,实际上独占锁是一种保守的锁策略,在这种情况下任何...
分类:
编程语言 时间:
2014-12-02 23:59:35
阅读次数:
527