Wesley13 Wesley13
3年前
mysql数据库分库分表shardingjdbc
分库分表理解   分库分表应用于互联网的两个场景;大量数据和高并发,通常策略有两种:垂直分库,水平拆分  垂直拆分:是根据业务将一个库拆分为多个库,将一个表拆分为多个表,例如:将不常用的字段和经常访问的字段分开存放,在实际开发由于跟业务关系紧密,所以一般采用水平拆分。  水平拆分:则是根据分片算法讲一个库拆分为多个库,来进行维护,
Stella981 Stella981
3年前
Mac安装Redis可视化工具
Redis是一个超精简的基于内存的键值对数据库(keyvalue),一般对并发有一定要求的应用都用其储存session,乃至整个数据库。不过它公自带一个最小化的命令行式的数据库管理工具,有时侯使用起来并不方便。不过Github上面已经有了很多图形化的管理工具,而且都针对REDIS做了一些优化,如自动折叠带schema的key等。RedisDesk
Wesley13 Wesley13
3年前
Java原子类操作原理剖析
◆CAS的概念◆对于并发控制来说,使用锁是一种悲观的策略。它总是假设每次请求都会产生冲突,如果多个线程请求同一个资源,则使用锁宁可牺牲性能也要保证线程安全。而无锁则是比较乐观的看待这个问题,它会假设每次访问都没有冲突,这样就提高了效率。但是事实难料、这个冲突是避免不了的,无锁也考虑到了肯定会遇到冲突,对于冲突的解决无锁就使用一种比较交换(CA
Wesley13 Wesley13
3年前
2017年云主机性能测评报告
测评背景伴随着国家大众创业、万众创新的新时代,创新型企业大量广泛应用云服务快速提高生产力,短短几年的高速发展,国内云计算市场已经初具规模,随着云计算在各个行业的快速渗透,各个传统企业也在陆续将原有业务迁移到云平台。马上面临双十一,在保证系统能够扛住高并发的情况下,云主机会对系统稳定性有何影响?蓝海讯通公司使用OneCPT性能测试平台
Stella981 Stella981
3年前
Nginx搭建flv视频点播服务器
       前一段时间使用Nginx搭建的多媒体服务器只能在缓冲过的时间区域内拖放,而不能拖放到未缓冲的地方.这就带来了一个问题:如果视频限速的速率很小,那么客户端观看视频时肯定不流畅,而且用户不能向前拖放,用户体验很不好.如果视频限速的速率很大或者不限速,服务器是承受不了的,特别是在某个热门视频高并发访问的情况下,而且客户端浏览器也
Stella981 Stella981
3年前
Jmeter
性能测试最关键的一个方面是能够模拟应用程序的实际负载。但是,确定目标负载的并发用户数是不够的。在测试阶段使用的相同目标负载下,经过测试的应用程序可能会失败。或者当问题是系统中的瓶颈时,应用程序可能会在测试负载下失败。发生这些事情是因为除了目标负载之外,开发人员和性能测试人员还应该关心在测试执行期间如何分配负载也就是模拟各种负载压力场景。JMeter的Ra
Easter79 Easter79
3年前
ThreadLocal详解
ThreadLocal翻译成中文比较准确的叫法应该是:线程局部变量。  这个玩意有什么用处,或者说为什么要有这么一个东东?先解释一下,在并发编程的时候,成员变量如果不做任何处理其实是线程不安全的,各个线程都在操作同一个变量,显然是不行的,并且我们也知道volatile这个关键字也是不能保证线程安全的。那么在有一种情况之下,我们需要满足这样一个条件:变量是
Stella981 Stella981
3年前
NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战
前言本文将演示一个iOS客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo。服务端将分别用MINA2和Netty4进行实现,而通信时服务端你只需选其一就行了。同时用MINA2和Netty4分别实现服务端的目的,是因为很多人都在纠结到底是用MINA还是Netty来实现高并发的Java网络通信服务端
Wesley13 Wesley13
3年前
Java线程安全总结
浅谈java内存模型 不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改。总结java的内存模型,要解决两个主要的问题:可见性和有序性。我们都知道计算机有高速缓存的存在,处理器并不是每次处理数据都是取内
Stella981 Stella981
3年前
JVM中锁优化简介
本文将简单介绍HotSpot虚拟机中用到的锁优化技术。自旋锁互斥同步对性能最大的影响是阻塞的实现,挂起线程和恢复线程的操作都需要转入内核态中完成,这些操作给系统的并发性能带来了很大的压力。而在很多应用上,共享数据的锁定状态只会持续很短的一段时间。若实体机上有多个处理器,能让两个以上的线程同时并行执行,我们就可以让后面请求锁的那个线程原地自旋(