随笔分类 - 性能调优
摘要:1 问题 windows下zookeeper客户端启动特别慢,要9秒以上。 环境: windows 8.1 64-bit 版本: <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</art
阅读全文
摘要:1 背景 Graalvm是Oracle推出的一款新型虚拟机,其中一个吸引人的功能是:它可以将Java代码编译成各个平台的本地代码,这些平台包括:linux、macOS、windows、iOS、android。 这个功能可以极大地加快Java程序的启动速度,它对于docker+微服务(云原生)应用,以
阅读全文
摘要:1 Why TLSv1.3相比TLSv1.2性能更好,安全性更高。 参考文章:《TLS 1.3 VS TLS 1.2,让你明白 TLS 1.3 的强大》 TLS 1.3 与之前的协议有较大差异,主要在于: 支持 0-RTT 数据传输,在建立连接时节省了往返时间 ServerHello 之后的所有握手
阅读全文
摘要:1 问题 术语:压缩率,compression ratio,压缩后的大小/压缩前的大小,越小说明压缩效果越好。 在使用netty的JdkZlibEncoder进行压缩时,发现了一个问题:它对于短文本(小于2K)的压缩效果很差,压缩率在80%-120%,文本越短,压缩效果越差,甚至可能比没压缩前更大。
阅读全文
摘要:1 问题 当使用pdfjs来实现预览功能的时候,遇到了2个问题: 一是带宽占用过大,会下载整个pdf文件,这对部署在公网的应用来说,成本压力很大,因为云服务带宽是很贵的。 二是内存占用过大,一个80M的pdf,在预览时占用内存高达600M,在一些内存较小的手机上容易发生崩溃。 pdfjs默认配置下,
阅读全文
摘要:1问题 uuid采用char(32)或char(36)存储的话,需要占用32或36个字节。为节省存储空间,改为binary(16),占用16字节。对于500W行的表,可节省7.4G的空间。 mybatis中没有默认的type handler来完成uuid类型<->binary类型的相互转换,需要自定
阅读全文
摘要:定义一个Filter public class MyOutputCacheAttribute : ActionFilterAttribute { MemoryCacheDefault _cache = new MemoryCacheDefault(); /// <summary> /// 客户端缓存
阅读全文
摘要:import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; im
阅读全文
摘要:相比json来说,好处是速度更快,带宽占用更小。其效果大致等于json+Gzip。 在webapi中使用protobuf的方法为: 引用nuget包 Install-Package protobuf-net 为DTO添加注解 [ProtoContract] public class Product
阅读全文
摘要:这里的cache storage 采用ehcache,而不是默认的内存式的cache storage。采用ehcache可以将内容缓存到磁盘上。 maven <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>h
阅读全文
摘要:在项目中,需要每隔20ms发送一个RTP数据包。一开始使用的是System.Windows.Forms下的Timer类,但是发现明显延迟了。用StopWatch测了一下,发现它的触发间隔居然不是20ms,而是在31ms左右摇摆。换了System.Threading下的Timer和System.Tim
阅读全文