性能分析和优化是所有软件开发人员必备的技能,也是后台大佬们口中津津乐道的话题。 Golang 作为一门“现代化”的语言,原生就包含了强大的性能分析工具 pprof 和 trace。pprof 工具常用于分析资源的使用情况,可以采集程序运行时的多种不同类型的数据(例如 CPU 占用、内存消耗和协程数量等),并对数据进行分析聚合生成的报告。trace 工具则关注程序运行时的事件(例如协程状态切换,GC 的开始和结束、系统调用等等),常用于分析延迟、阻塞和调度等问题。掌握了这两个工具就足以满足大部分 Golang 程序的性能分析需求。 本文将从使用方法、原理和实践三个方面分别介绍 pprof 和 trace 工具。读完本文后,相信你也可以更全面地掌握 pprof 和 trace。废话少说,让我们开始!
作为火山引擎数智平台VeDI旗下的核心产品,DataTester源于字节跳动长期的技术和业务沉淀,目前已经服务了数百家企业,助力企业在业务增长、用户转化、产品迭代、策略优化以及运营提效等环节科学决策。 在大模型时代,当A/B测试应用在AI场景中,“让每一个决策更加正确”的显性效果也会被指数级放大。
SERVERLESS能够将应用分为研发域和运维域,使两者独立迭代,降低运维成本,提升研发效率。点淘作为试点项目,经历了包括功能回归、压力测试和监控验证在内的质量保障流程,并在实践中遇到了各种问题,如依赖梳理、性能验证和监控建设等。文章还提到了SERVERLESS带来的部署效率提升,例如应用部署时长显著下降,并展望了未来通过基座插件化和分层自动化来进一步优化测试成本和功能保障。最后,文中列举了SERVERLESS升级带来的部署时间减少的具体案例,展示了实施SERVERLESS架构的收益。
Service 作为 K8s 中的一等公民,其承载了核心容器网络的访问管理能力,包括: 暴露/访问一组 Pod 的能力 Pod 访问集群内、集群外服务 集群外客户端访问集群内 Pod 的服务 无论是作为应用的开发者还是使用者,一般都需要先经过 Service 才会访问到真正的目标 Pod。因此熟悉 Service 网络管理机制将会使我们更加深入理解 K8s 的容器编排原理,以期更好的服务各类业务。
数字技术已经成为我们日常生活的一部分,并越来越多地在我们的工作场所和人际关系中扮演中介的角色,甚至取代它们。当代科技发展日新月异,物联网、社交媒体无处不在,人工智能程序通过与人类互动来学习,辅助和陪伴机器人也渐趋普及,电脑游戏不仅具有娱乐性,还可以承载特定目的,如产生社会影响。此外,机器人顾问和数字永生技术等概念也逐渐出现,为人类生活带来全新体验。……这些新兴科技在短期内就能给社会带来深远影响。它们有可能重塑就业格局、颠覆他人声誉、改变城市面貌、重构人际关系网络(不仅是职场,也包括家人朋友等亲密圈子),甚至让人们在逝世后也能留下数字化的永久印记。科技正以前所未有的方式影响和改变着我们的生活。 与“智能”机器日益增长的互动不仅仅是从工业革命开始的社会转型的又一步。虽然新兴信息技术确实能够解放人类,使他们免于重复性繁琐工作,为他们提供了更多时间去从事创造性和享受性的活动。但这些新兴技术与过去有着本质区别,它们开始触及人类独有的领域,如决策判断、情感体验、人际关系等,这可能会破坏人类的价值体系,并决定我们的社会和生活方式。
随着大型语言模型的迅猛增长,各种模型在各个领域的应用如雨后春笋般迅速涌现。在研发全流程的效能方面,也出现了一系列贯穿全流程的提效和质量工具,比如针对成本较高的Oncall,首先出现了高质量的RAG助手;在开发阶段的Copilot、Comate、Tabnine等辅助编程应工具;在测试阶段,也有缺陷检查、安全合规检查、智能Code Review等工具;哪怕在交付阶段,也有替代人工的自动化Agent... 当使用git commit提交代码时,需要写繁杂的CommitMessage,有时候写了后却不符合提交规范被hook,有时候还被CodeReview的同学点评写不到点上...智能CommitMessage就是这样一个小助手,帮你按照提交规范自动生成符合规范的CommitMessage。 以百度APP 的提交规范为例,规范包括提交类别、产品版本、需求卡片、变更摘要等,其中类别又包括:功能、更新、优化、提测、上车、Merge、FixBug等,手动抒写较为复杂。
Pulsar作为新一代MQ中间件,在底层架构设计上充分贯彻了存算分离的思想,broker与Bookeeper两个组件独立部署,前者负责流量的调度、聚合、计算,后者负责数据的存储,这也契合了云原生下k8s大行其道的时代背景。Bookeeper又名Bookie ,是一个单独的存储引擎。在组件关系上,broker深度依赖Bookie,内部集成了 Bookie的client端,broker和Bookie之间基于TCP通信,使用protobuf。
Prometheus 受启发于 Google 的 Borgmon 监控系统,从 2012 年开始由前 Google 工程师在 Soundcloud 以开源软件的形式进行研发,并且于 2015 年对外发布早期版本。2016年5月继 Kubernetes 之后成为第二个正式加入 CNCF 基金会的项目,2018年8月9日,云原生计算基金会(CNCF)宣布开放源代码监控工具 Prometheus 已从孵化状态进入毕业状态,标志着 Prometheus 已经具备稳定性和成熟度,而且得到了市场的认可,已经成为了云原生中指标监控的事实标准。目前在 GitHub 已有超过 53.1k star。 然而在实际的使用场景中,我们会经常发现 Prometheus 存在指标值不准的“怪现象”,这么完美的主流监控方案,为何会存在这样的问题,究竟是 Bug 还是 Feature?本文将通过典型案例详细拆解、探讨其背后的设计原理。