高性能计算

Netty学习(三)高性能之ByteBuf(篇幅较长)

可紊 提交于 2019-11-28 02:46:10
Netty 高性能之ByteBuf Netty 高性能的原因除了前面提到的 NIO 的 Reactor 线程模型, 零拷贝也是其高性能的一个重要原因. 零拷贝 省去了数据从用户进程到内核的拷贝(jvm 堆内的数据 os 是不能直接使用的, 要让os可以使用的话, 需要将堆内的数据拷贝一份到堆外) CompositeByteBuf 复合多个 ByteBuf, netty使用的是逻辑上的关联, 对外提供访问的统一接口, 而不是重新申请内存再将数据写入新的 ByteBuf Netty 的 ByteBuf 类型 Pooled(池化)、Unpooled(非池化) Direct(直接缓冲区/堆外)、Heap(jvm堆内) unsafe(unsafe 调用的本地方法)、safe(一般也不会这么说, 这是相对于 unsafe, 指的jvm 堆内的操作) Netty 默认都会优先使用 unsafe 的实现, 池化/非池化(Pooled/Unpooled): Netty 先申请一块连续的空间作为 ByteBuf 池, 需要用到的时候直接去池里面取, 用完之后返还给 ByteBuf 池, 而不需要每次要用 ByteBuf 的时候都去申请. 堆外对象的创建比堆内的耗时. 总结: 池化的作用就是加快程序获取到操作的对象 堆外/堆内(direct/heap): 堆内指的在 JVM 中的数据,申请

关于Thinkpad的bios选项(转载)

人走茶凉 提交于 2019-11-27 16:46:07
今天上网无意发现的,不敢独享,贴出来与大家共享 其实这篇技术文档不光适用于X220,大部分设置说明同样适用于T520系列,W520系列和(T、X、W)*30系列 Wake On LAN:当以太网控制器接收到远程唤醒数据包时,让系统开机。注意,如果设置有硬盘密码,Wake On LAN功能将不起作用。(建议关闭) Ethernet LAN Option ROM:装入Ethernet LAN Option ROM可以从集成的网络设备启动(以太网卡的一个特殊功能)。(建议默认) USB UEFI BIOS Support:USB输入输出系统支持,启用或禁用USB软盘驱动器和USB CD-ROM的引导支持。如果不启用USB,将无法使用任何USB界面的设备,例如:外置USB界面的软驱,光驱。(建议开启) Always On USB:持续USB供电。如果选择开启,那么在计算机连接到交流电源的情况下,外部USB设备可以在计算机处于低电源状态(睡眠/待机、休眠或电源关闭)时通过USB端口进行充电。(建议开启) Always On USB Charge in Off Mode:关机状态下为USB设备充电(机身上黄色USB接口)。(建议开启) TrackPoint:指点杆(小红帽)开关。(根据实际需要进行选择,不做推荐) Touch Pad:触摸板开关。(根据实际需要进行选择,不做推荐) Fn and

Windows 7中的电源计划及维护

守給你的承諾、 提交于 2019-11-26 15:23:26
电源计划是指计算机中各项硬件设备电源的规划,通过使用电源计划能够非常轻松的配置电源。比如,用户可将电源计划设置为在用户不操作计算机的情况下10分钟后自动关闭显示器,在1个小时不操作计算机后使计算机进入睡眠状态。不仅如此,还可以设置更为详细的电源设置,比如在用户不操作计算机的情况下20分钟后关闭硬盘的电源、降低处理器的使用率以及改变系统散热方式等。 认识Windows 7的电源计划 在Windows 7中支持非常完备的电源计划,并且内置了三种电源计划,分别是“平衡”、“节能”以及“高性能”,默认启用的是“平衡”电源计划,如下图所示。 平衡:这种电源计划会在系统需要完全性能时提供最大性能,当系统空闲时尽量节能。这是默认的电源计划,适合大多数用户。 节能:这种电源计划会尽可能的为用户节能,比较适合使用笔记本电脑外出的用户,此计划可以帮助用户提高笔记本计算机户外使用时间。 高性能:无论用户当前是否需要足够的性能,系统都将保持最大性能运行,是三种计划中性能最高的一种,适合少部分有特别需要的用户。· 使用电源计划 在了解电源计划后,用户便可更换电源方案来满足性能或节能上的需求。对于笔记本电脑来说,使用节能电源计划意味着能够拥有更长的续航时间,但相对来说性能方面有些限制;对于台式机电脑来说,使用高性能电源计划将使计算机始终保持高性能状态,而不需要从低性能切换到高性能这样一个过程

SQL性能优化(efficacious )

跟風遠走 提交于 2019-11-26 12:46:55
1、优化目标 减少 IO 次数 IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当然,也是收效最明显的优化手段。 降低 CPU 计算 除了 IO 瓶颈之外,SQL优化中需要考虑的就是 CPU 运算量的优化了。order by, group by,distinct … 都是消耗 CPU 的大户(这些操作基本上都是 CPU 处理内存中的数据比较运算)。当我们的 IO 优化做到一定阶段之后,降低 CPU 计算也就成为了我们 SQL 优化的重要目标 2、优化方法 一、改变 SQL 执行计划 明确了优化目标之后,我们需要确定达到我们目标的方法。对于 SQL 语句来说,达到上述2个目标的方法其实只有一个,那就是 改变 SQL 的执行计划,让他尽量“少走弯路”,尽量通过各种“捷径”来找到我们需要的数据 ,以达到 “ 减少 IO 次数 ” 和 “ 降低 CPU 计算 ” 的目标 常见误区 (1)count(1)和count(primary_key) 优于 count(*) X 很多人为了统计记录条数,就使用 count(1) 和 count(primary_key) 而不是 count(*) ,他们认为这样性能更好,其实这是一个误区。对于有些场景,这样做可能性能会更差