Java高速、多线程虚拟内存的实现

本文作者Alex已经从事Java开发15年了,最近帮助开发了COBOL和Magik语言的JVM 。当前,他正致力于Micro Focus的Java性能测试工具。在本文中,他阐述了在标准硬件中实现高速、多线程虚拟内存的可能性及方案。原文内容如下。[......]

阅读全文

同步与异步,阻塞与非阻塞

同步与异步

所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要么成功都成功,失败都失败,两个任务的状态可以保持一致。而异步是不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行,只要自己完成了整个任务就算完成了。至于被依赖的任务最终是否真正完成,依赖它的任务无法确定,所以它是不可靠的任务序列。我们可以用打电话(同步)和发短信(异步)来很好的比喻同步与异步操作。[......]

阅读全文

应用程序扩展性实现的十宗罪

可扩展性方面专家Sean Hull曾发表文章指出实现可扩展性的五大毒药,最近他又指出了实现可扩展性的五大致命错误

一、缓慢的磁盘I/O - RAID 5 -多用户的EBS。RAID 10可以提供良好的数据保护,同时具备良好 的读写性能。RAID 5设计意味着性能差,失败后修复时间长。在AWS上考虑使用预设的IOPS解决IO瓶颈问题。

二、使用数据库存储作业队列。数据库看起来很适合存储作业队列,但是轻负载的锁定以及日常的扫描 工作都会影响性能。使用类似RabbitMQ和SQS的专业软件可以消除这个瓶颈。[......]

阅读全文

4K对齐,0成本IO优化

        硬盘对齐4K,很多人可能并不会在意,甚至没有听说过。最近在论坛看到一些对硬盘IO有特殊要求的站长抱怨硬盘IO性能较低,那就试试硬盘4K 对齐来优化下吧,而且不用额外花钱,何乐而不为呢。
首先说一下什么是叫做“4K 对齐”,其实“4K对齐”是一个叫做“高级格式化”的分区技术。“高级格式化”是国际硬盘设备与材料协会为新型数据结构格式所采用的名称,一般来说,2011年之后出厂的硬盘,基本都是支持高级格式的,阿里云的硬盘当然也是支持的啦~ 那么如果有“4K 对齐”一说必然就有“4K 对不齐”。为什么会有“4K”对不齐呢?这是因为在NTFS6.x 以前的规范中,数据的起始写入点正好会介于在两个4K 扇区的中间,也就是说即使是写入最小量的数据(最小量的数据为4K),也会使用到两个4K扇区,显然这样对写入速度和读取速度都会造成很大的影响为此对于“4K不对齐”的情况来说,一定要修改成“4K 对齐”才行,否则会极大的降低数据写入和读取速度。[......]

阅读全文

巧用Linux云服务器下的的/dev/shm/,避开磁盘IO不给力!

     使用阿里云服务器半年,省心省事省力,就是磁盘io性能需要费一点心,不过我相信阿里云技术的实力,很快就能解决磁盘io性能问题,不过暂时我只能自己动手丰衣足食了,巧用linux云服务器提供给了/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度,分享如下:[......]

阅读全文