在互联网支付时代,我们无法预估系统承受最大并发用户数,身为性能测试人员如何确保系统在高并发下的稳定性、高可用性?
分类:
其他好文 时间:
2018-08-01 12:01:48
阅读次数:
168
postgresql事务处理与并发控制:事务是postgresql中的基本工作单元,是用户定义的一个数据库操作序列。这些操作要么全做,要么全不做,是一个不可分割的工作单位。在postgresql中,事务管理器负责管理事务运行的模块(模块有:锁管理器和日志管理器)事务管理器是事务系统的中枢,通过接受信息,处理下一步的事务操作。 锁管理器主要提供事务的写阶段并发控制所需的 各种锁,从而保证事
分类:
数据库 时间:
2018-08-01 11:54:37
阅读次数:
256
Java需要并发控制三个原因: 下面分别用继承Thread类和实现Runnable接口俩种方式实现并发控制, 继承Thread类 继承Thread类方式,最后创建对象是因为会是三个不同的线程对象,所以需要将共享资源和锁都静态化,如果不这样的话,就不存在共享资源一说了,自然也没有并发控制的说法。 实现 ...
分类:
编程语言 时间:
2018-07-29 00:13:21
阅读次数:
142
MVCC是行级锁的一个变种,但是它在很多的情况下避免了加锁操作,因此开销更低。MySQL,包括Oracle、PostgreSQL都实现了MVCC,虽然每个关系数据库实现不一样,但大都是实现了非阻塞的读操作,写操作也只锁定必要的行。 MVCC的实现原理:InnoDB的MVCC的实现原理,是通过在每行记 ...
分类:
数据库 时间:
2018-07-26 23:27:45
阅读次数:
179
1. 从乐观锁和悲观锁谈起 乐观锁和悲观锁是两种不同的解决并发问题的策略。悲观锁策略假定任何一次并发都会发生冲突,所以总是采用最严格的方式来进行并发控制。java中的独占锁(synchronized和重入锁)就是典型悲观锁实现,它只允许线程互斥的访问临界区,也就是阻塞式的同步方式。而乐观锁策略假定大 ...
分类:
其他好文 时间:
2018-07-14 19:28:30
阅读次数:
311
分布式系统实践 1. 悲观还是乐观,这是一个问题 https://mp.weixin.qq.com/s/RYG4WuB-26HKf_y5uaN6iA 摘要: 本文从FoundationDB的开源说起,概要描述了当前NewSQL的发展趋势及使用到的相关并发控制技术. 2. Algorithms Beh ...
分类:
其他好文 时间:
2018-07-13 17:48:01
阅读次数:
182
一、引言 为什么需要锁(并发控制) 在并发的环境中,会存在多个用户同时更新同一条数据,这时就会产生冲突。 冲突结果: 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。 因此为了解决上述问题,引入了并发控制机制。 乐 ...
分类:
其他好文 时间:
2018-07-11 12:21:25
阅读次数:
166
MySQL 为什么用自增列作为主键 为什么使用数据索引能提高效率 B+树索引和哈希索引的区别 B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度差值不超过1,而且同层级的节点间有指针相互链接,是有序的 哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶 ...
分类:
数据库 时间:
2018-07-10 11:22:04
阅读次数:
228
引用出处:https://www.cse.wustl.edu/~schmidt/PDF/TSS-pattern.pdf 摘要: 理论上多线程会提高程序性能,但实际上,由于在获取和释放锁的开销,多线程经常会比单线程表现得更糟。除此之外,为了避免竞争和死锁需要复杂的并发控制协议,多线程编程很难。 这里介 ...
分类:
编程语言 时间:
2018-07-05 15:59:22
阅读次数:
173
事务:用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)。 故障种类:事务内部故障、系统故障、介质故障、计算机病毒。 恢复机制 ...
分类:
其他好文 时间:
2018-07-03 15:09:56
阅读次数:
160