首页 > 其他分享 >client-go list性能提升

client-go list性能提升

时间:2024-01-30 22:34:40浏览次数:26  
标签:list apiserver client resourceVersion go k8s

k8s v1.19.0

staging\src\k8s.io\apiserver\pkg\storage\cacher\cacher.go

staging\src\k8s.io\apiserver\pkg\storage\etcd3\api_object_versioner.go

优化1:设置resourceVersion=0

从kube-apiserver缓存中获取全量数据并返回。
默认client-go list参数是resourceVersion=0&limit=500,resourceVersion=0会使limit=500无效。

优化2:减少数据传输量

list请求通过设置label/namespace/field/分页等条件,在kube-apiserver缓存中过滤,减少数据传输量。

标签:list,apiserver,client,resourceVersion,go,k8s
From: https://www.cnblogs.com/WJQ2017/p/17998123

相关文章

  • 在@KafkaListener启动之前需要做数据的预加载,该在Spring生命周期的哪个阶段做这个事情
    背景说明1、在Spring中消费Kafka数据时,最便捷的方法就是给方法加@KafkaListener注解。在数据消费逻辑中,需要先把一些配置信息预加载到内存中。有同事就提了一个问题:如果保证在消费者执行前,预加载数据的代码一定能执行完?也就是说,要等待数据预加载完成之后,再执行消费逻辑。大部分......
  • 【Django开发】前后端分离美多商城项目第2篇:项目配置(附代码,文档已分享)
    本系列文章md笔记(已分享)主要讨论django商城项目开发相关知识。本项目利用Django框架开发一套前后端不分离的商城项目(4.0版本)含代码和文档。功能包括前后端不分离,方便SEO。采用Django+Jinja2模板引擎+Vue.js实现前后端逻辑,Nginx服务器(反向代理)Nginx服务器(静态首页、商品详情页......
  • Go 的函数,方法和接口
    函数(function)函数可以没有参数或者接受多个参数。当连续两个或多个函数的已命名形参类型相同时,除最后一个类型以外,其它都可以省略。funcadd(x,yint)int{returnx+y}函数(或者变量)的名称以大写字母开头时,它就是已导出的。函数可以返回任意数量的字......
  • go log/slog: package log/slog is not in GOROOT
    安装irisv12版本需要Golang>=1.21gogetgithub.com/kataras/iris/[email protected]/kataras/iris/v12importsgithub.com/kataras/gologimportslog/slog:packagelog/slogisnotinGOROOT(/usr/local/go/src/log/slog)参考链接:https://go.de......
  • 在RunnerGo测试平台中做WebSocket、Dubbo、TCP/IP接口测试
    大家好,RunnerGo作为一款一站式测试平台不断为用户提供更好的使用体验,最近得知RunnerGo新增对,WebSocket、Dubbo、TCP/IP,三种协议API的测试支持,本篇文章跟大家分享一下使用方法。WebSocket协议WebSocket是一种在单个TCP连接上进行全双工通信的API技术。相比于传统的HTTP请求,We......
  • 在RunnerGo测试平台中做WebSocket、Dubbo、TCP/IP接口测试
    大家好,RunnerGo作为一款一站式测试平台不断为用户提供更好的使用体验,最近得知RunnerGo新增对,WebSocket、Dubbo、TCP/IP,三种协议API的测试支持,本篇文章跟大家分享一下使用方法。WebSocket协议WebSocket是一种在单个TCP连接上进行全双工通信的API技术。相比于传统的HTTP请......
  • [刷题笔记] ybt 1364:二叉树遍历(flist)
    Problem_LinkDescription树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种遍历的序列就可以确定一棵二叉树的结构。假定一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。Analysis我们先前做过给定前序......
  • ArrayList 扩容规则和 fail-fast 和fail-sale
    初始长度为0数组ArrayList()会使用长度为0的数组ArrayList(intinitalCapacity)会使用自定容器的数组 如果初始不是0add()首次扩容为10,再次扩容为1.5倍addAll()会在元素与下次扩容1.5倍选最大值 Iterator(迭代器)遍历集合遍历set集合,遍历list集合,编辑map集合fail......
  • 31-ArrayList和HashMap集合的排序
     扩展:在List集合中添加另一个集合时,一般常用两种方法booleanadd(Ee): 将list作为一个元素添加到集合中booleanaddAll(Collection<?extends E> c):把list中的所有元素添加到集合中 ArrayList类的排序方法(常用)packagelist;importjava.util.ArrayList......
  • 如何重写gorm日志(实现自定义慢sql打印)
    1.什么是gormGORM是一个流行的Go语言ORM(对象关系映射)库,用于处理数据库的CRUD(创建、读取、更新、删除)操作。它是一个开源的库,通过简洁的API使得对数据库的操作就像操作对象一样自然,无需编写大量的SQL代码。GORM支持主流的关系数据库,如MySQL、PostgreSQL、SQLite以及Mic......