Redis并发问题 Redis为单进程单线程模式,采用队列模式将并发访问变为串行访问。Redis本身没有锁的概念,Redis对于多个客户端连接并不存在竞争,但是在Jedis客户端对Redis进行并发访问时会发生连接超时、数据转换错误、阻塞、客户端关闭连接等问题,这些问题均是由于客户端连接混乱造成。对 ...
分类:
其他好文 时间:
2016-07-19 18:43:12
阅读次数:
122
一. 调优需要关注的几个方面 内存调优 CPU 使用调优 锁竞争调优 I/O 调优 二. Twitter 最大的敌人:延迟 导致延迟的几个原因? 最大影响因素是 GC 其他的有:锁和线程调度、I/O、算法数据结构选取不当效率低 三. 内存性能调优 (1)内存占用调优 OutOfMemoryError ...
分类:
其他好文 时间:
2016-07-05 20:25:18
阅读次数:
186
条件变量是线程之前同步的另一种机制。条件变量给多线程提供了一种会和的场所。当条件变量和互斥锁一起使用时,允许线程以无竞争的方式等待特定的条件发生。这样大大减少了锁竞争引起的线程调度和线程等待。 消息队列是服务器端开发过程中绕不开的一道坎,前面,我已经实现了一个基于互斥锁和三队列的消息队列,性能很不错 ...
分类:
其他好文 时间:
2016-06-16 09:12:54
阅读次数:
204
在最近的项目中使用 Dom4j 解析 xml 发现性能低下,有锁竞争的情况,解决如下: 选择使用 xerces 的 XMLReader 进行解析,问题解决。 ...
分类:
其他好文 时间:
2016-06-08 10:44:16
阅读次数:
238
大家使用多线程无非是为了提高性能,但如果多线程使用不当,不但性能提升不明显,而且会使得资源消耗更大。下面列举一下可能会造成多线程性能问题的点: 死锁 过多串行化 过多锁竞争 切换上下文 内存同步 死锁 过多串行化 过多锁竞争 切换上下文 内存同步 下面分别解析以上性能隐患 死锁 关于死锁,我们在学习 ...
分类:
编程语言 时间:
2016-05-28 17:17:03
阅读次数:
238
一. 调优需要关注的几个方面 内存调优 CPU 使用调优 锁竞争调优 I/O 调优 二. Twitter 最大的敌人:延迟 导致延迟的几个原因? 最大影响因素是 GC 其他的有:锁和线程调度、I/O、算法数据结构选取不当效率低 三. 内存性能调优 (1)内存占用调优 OutOfMemoryError ...
分类:
其他好文 时间:
2016-05-14 06:42:07
阅读次数:
220
这篇文章主要介绍表锁和行锁一.表锁1.查看表锁的竞争情况showstatuslike‘table_locks%‘如果Table_locks_waited很大,则说明表锁竞争很激烈,并发性能低下。
分类:
数据库 时间:
2016-03-16 01:33:52
阅读次数:
236
1、问题OutOfMemoryError:内存不足;内存泄漏线程死锁锁竞争(LockContention)java消耗过多的CPU2、java常用健康工具jps(javavirtualmachineprocessstatustool)监控jvm进程状态信息使用格式:jps[options][hostid] -m:输出传入main方法的参数 -l:显示main类或jar的完全限定名称 ..
分类:
编程语言 时间:
2015-12-02 12:43:24
阅读次数:
195
索引和锁可以让查询锁定更少的行。如果你的查询从不访问那些不需要访问的行,那么就会锁定更少的行,从两个方面来看这对性能都有好处。首先,虽然innodb的行锁效率很高,内存使用也很少,但是锁定行的时候仍然会带来额外的开销,其次,锁定超过需要的行会增加锁竞争,并减少并发性。 innodb只有在访问行...
分类:
数据库 时间:
2015-11-25 23:28:00
阅读次数:
226
1.为什么要用非阻塞算法?我们知道为了避免并发环境下操作共享变量的问题,可以采用同步(synchronize)和锁(Lock)的方式做到线程安全,但是JVM处理锁竞争时对于竞争失败的线程采用的是挂起稍后调度的策略,这样会带来额外的线程上下文切换成本。同时和CAS(Compare And Set)这种...
分类:
编程语言 时间:
2015-11-03 10:35:30
阅读次数:
251