性能
测试重点看这些
- 吞吐量:找到每个方案的性能临界点
- 吞吐量和延迟的关系
- 负载期间节点挂了之后的表现(错误率、延迟变化等)
- 过滤功能对延迟的影响
k8s
容器时代 (Docker): 容器共享宿主机内核,轻量级(MB 级别),秒级启动。
- 问题来了: 当你有 3 个容器时,你手动用 docker run 就能管理。但当微服务架构普及,你有 1000 个容器 分布在 50 台服务器 上时,谁来决定哪个容器跑在哪台机器?谁来监控它们死没死?谁来做负载均衡?
K8s 就是为了解决这个问题而生的:它是一个容器编排(Orchestration)平台。 K8s 不直接管理容器,而是管理 Pod。被称为“操作系统”——它管理了计算(Pod)、网络(Service/Ingress)、存储(Volume/ConfigMap)以及最重要的生命周期。
example:
- 你给
Auth Service创建一个 K8s Service 对象,名字叫auth-svc。 - K8s 会分配一个固定的虚拟 IP 给它。
- 神奇之处:
Order Service的代码里根本不需要写死 IP,只需要写http://auth-svc/validate。K8s 内置的 DNS 会自动解析,并把请求负载均衡分发给那 3 个正在运行的 Pod。
k8s也能控制流量入口,控制服务器的增加和减少。
方案测试:
- 在 Kubernetes (K8s) 中,给 Qdrant、Milvus、Weaviate 等不同的数据库 Pod 设置了相同的
requests(资源预留) 和limits(资源上限)。 - 系统预热,1.把热点数据从磁盘加载到内存里。2.即时编译器把热点代码编译成机器码java.3.连接池填满,防止浪费时间在TCP握手上 可以发少量的请求(比如 10 QPS),持续运行 1-2 分钟。这段时间内的测试数据不记录在最终报告里。
- QPS (Queries Per Second): 每秒查询数,爬坡上升
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Comments


