首页 > 其他分享 >架构杂记(2)

架构杂记(2)

时间:2023-01-20 19:44:06浏览次数:38  
标签:缓存 架构 请求 -- redis 带宽 响应 杂记

  1. 每次JVM启动以后都是单独虚拟的一块内存空间,所以程序第一次打印 System.out.println( new Object() );的结果是一样,不管运行多少次,如果不干别的事,第二次,第三次答应,也分别可另一一次启动的JVM结果一样。我们说的hash是内存地址,是Java虚拟的内存的地址。
  2. Java程序执行的过程编译-->加载-->解释-->分配内存-->执行命令,Java文件编译成为class字节码文件,通过classLoader加载到内存,然后有解释器解释成汇编码,汇编码被计算机翻译成为机器码。解释执行是一行一行的读,即时编译预先解释病缓存热点代码,缓存在堆外缓存codeCache中,大约占有20%。
  3. 一个请求占用多少带宽?一个1Mb的带宽可以支撑多少请求?一个Long是8个byte,用字符形式表示是19个byte(为了避免js上面的丢失精度,一般吧Long单做Spring处理),算上key和结构数,按照30算。假设一个响应有10个响应头,响应体里面20个字段的json 数据。这一个响应就是900byte,约1KB。实际过程中,也有响应体体远小于20字段的,也有表数据这种,远大于1KB的,更具实际情况,大多数一般都在0.5KB-10Kb的之间。按照1KB算,1Mb的带宽实际最大下载速度是128KB/s,也就是说1Mb的带框约可以撑起 128个响应。10Mb可以支撑1280个请求,100Mb可以支撑12800请求/s.如果按照5KB算100Mb的带宽可以支撑2560个请求的并发。请求比响应速度低的多,所以我们一般只考虑响应带宽。也就是100W并发,起码需要万兆光纤才行。
  4. redis 的 每秒10W次读写的单机速度是有前提的,要带宽足够,假设我们读写的对象平均20个字段,字段名字+字段的值25字节,一个对象也就是0.5K,10W个对象,0.5*100000/1024x8=390.625兆的带宽(带宽计算单位不是 Byte 子字节,所以要乘8)。所以在在ECS之类的云服务器上的redis不可能达到这个效率,另外10W每秒是redis 官方说的,可能有些水分,如果官方说的没有水分,带宽不够400M是理论上都行不通。
  5. redis 如果处理太多的大值,可能会造成内存负载倾斜,也可能会触发缓存回收,大大的频繁的loadDB,导致系统性能降低,甚至雪崩,所以不要大量的在redis中存大值对象。
  6. 本地缓存能有效的减少redis全局缓存的压力,本地缓存可以是EHcache,并且redis6 客户端默认就自带了本地缓存,通过事件监听可以很方便的实现本地缓存和redis全局缓存的一致性。
  7. rdb_bigkeys 这个 GO语言写的工具可以很方便的帮我查找RDB文件中是否有大Key。

标签:缓存,架构,请求,--,redis,带宽,响应,杂记
From: https://www.cnblogs.com/cxygg/p/17063079.html

相关文章

  • Kafka的架构
    Kafka的整体架构非常简单,是显式分布式架构,producer、broker(kafka)和consumer都可以有多个。Producer,consumer实现Kafka注册的接口,数据从producer发送到broker,broker承担一个......
  • MVC三层架构
    什么是MVC:Model view Controller 模型,视图,控制器Model控制业务操作。保持数据,修改数据,删除数据,查询数据View1.展示数据模型2.提供用户操作Controller1.......
  • 应用部署架构:如何降低云网络时延?
     导读:什么是时延?在电信系统中,不同应用对时延的要求是怎样的?如何通过部署架构降低网络传输时延?本文通过介绍云网络时延的构成,并对其进行量化分析,分享......
  • 100w人在线的 弹幕 系统,是怎么架构的?
    文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面......
  • ShardingSphere打造高性能架构模式
    一万年太久,只争朝夕......
  • HBASE架构解析
    HBase架构组成HBase采用Master/Slave架构搭建集群,它隶属于Hadoop生态系统,由一下类型节点组成:HMaster节点、HRegionServer节点、ZooKeeper集群,而在底层,它将数据存储于HDFS中,......
  • 峰值21WQps、亿级DAU,小游戏《羊了个羊》是怎么架构的?
    文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面......
  • CycleMLP:一种用于密集预测的mlp架构
    CycleMLP由香港大学、商汤科技研究院和上海人工智能实验室共同开发,在2022年ICLR上发布。MLP-Mixer,ResMLP和gMLP,其架构与图像大小相关,因此在目标检测和分割中是无法使用......
  • 企业应用架构研究系列十三:整合EFCore&Dapper 通用ORM框架EFDapper
    EntityFrameworkCore是微软官网提供的ORM框架,是轻量化、可扩展、开源和跨平台的数据访问技术框架,但是在.Net开发圈的评论却褒贬不一。很多人认为EFCore执行的效能比......
  • 从0到1详解ZooKeeper的应用场景及架构
    一、背景1后台系统由集中式发展为分布式随着计算机系统的规模越来越大,业务量的迅速提升和互联网的爆炸式增长,集中式系统采用大型主机单机部署带来了一系列问题:系统大而......