• 有赞DB连接池性能优化

    排查首先怀疑是否是 DB 的瓶颈,于是用 mysqlburst 模拟核心请求,并发 500 下写入 能达到 4w 左右,应该来说还有比较大的优化空间。图1. 到数据库的请求从上图中看出响应的时间普遍在 1ms 以内,但是上次请求完成后到下次请求的时间间隔平均有 4~5ms,这是连接池最大配置 15 的结果,最大连接数调整为 30 后发现请求后平均等待时间变为 9ms 左右,这能解释为什么连接池调整对性能没什么效果。开始怀疑的是获取连接后需要执行一些监控或者调用链的采集,导致没有立即执行,于是打算用perf 工具查看一下性能,不过由于Java 的方法是jvm 维护的,所以需要先用工具 perf-map-agent 生成方法映射map。
  • 有赞DB连接池性能优化

    排查首先怀疑是否是 DB 的瓶颈,于是用 mysqlburst 模拟核心请求,并发 500 下写入 能达到 4w 左右,应该来说还有比较大的优化空间。图1. 到数据库的请求从上图中看出响应的时间普遍在 1ms 以内,但是上次请求完成后到下次请求的时间间隔平均有 4~5ms,这是连接池最大配置 15 的结果,最大连接数调整为 30 后发现请求后平均等待时间变为 9ms 左右,这能解释为什么连接池调整对性能没什么效果。开始怀疑的是获取连接后需要执行一些监控或者调用链的采集,导致没有立即执行,于是打算用perf 工具查看一下性能,不过由于Java 的方法是jvm 维护的,所以需要先用工具 perf-map-agent 生成方法映射map。
  • 如何用OKR促进跨团队协同

    我们都知道,OKR是一个非常好的团队/个人目标管理工具,而在跨团队协同场景下,也同样能发挥不小的作用,关键就看我们如何使用它。借助OKR同步会、协同团队OKR对齐会之类的方式,由协作双方的相关KR的负责人针对第一点中提到的内容达成共识。因此,在回顾OKR环节,需包含与协作团队的定期同步,确保彼此感知进展和风险,调整步调。如若团队在自组织过程中可以充分利用好OKR,在协同问题的解决上,相信会是事半功倍。
  • 项目制实践如何助力组织进化

    笔者所在的效能改进团队,在有赞承担组织优化的重任,相当长的一段时期内,在产研侧持续采用「项目制」的方式,缓解症状,化解矛盾,实现组织现状与发展诉求之间的动态平衡。迭代2:唤醒自组织意识项目管理的最终目标,是实现组织的成功。但笔者认为, PM 角色习惯着眼全局,善于捕捉风险,积极补位,但一旦完全下沉到团队中,可能会限制该角色优势的发挥,且不利于组织进化。长此以往,团队将会逐渐削弱在项目管理方面自我成长的动力。
  • HiveCube在有赞的实践

    为了更优雅的基于数仓各主题域的星型模型去产出混合粒度的多维数据立方体,降低代码开发成本和维护成本,我们开始尝试去使用HiveCube,下文主要介绍HiveCube在有赞的使用以及实践。HiveCube是Hive提供的一种能快速生成多维聚合数据的方式,有三种实现方法,分别是with cube, with rollup, grouping sets,以上Cube语法也支持在SparkSQL引擎执行。
  • 有赞效能数据赋能实践

    全面统计研发团队、个人,业务线等需求、项目研发周期效能数据。在年度、季度、月度可反过来,将上线需求的价值标签进行数据收集,结合最初制定战略方向、OKR方向,便能够知晓是否有团队是否走偏。每家公司各有千秋,重要的是,我们可以通过建立各种各样的数据体系,并合理利用这些数据,帮助团队成长、进行日常管理,赋能团队、赋能组织,即便面临“黑天鹅”事件,我们也能稳如泰山。
  • 协同能力是效能提升的关键

    提高组织的效能,一方面,可以通过持续提升单个工种的专业度和熟练度; 另一方面,对组织整体来说,提升不同工种间的协同,却是更为重要的。协同能力建设,成为组织效能提升的关键。在分工和专业化早已成为常态的今天,一个组织协同的能力,就成了决定组织效能的核心因素。单个工种的专业度、熟练度需要持续提升,而多工种的协同能力更是组织效能提升的关键。是为此次效能改进系列文章的序,enjoy。
  • 如何正确理解 RT 并监控 MySQL 的响应时间

    但是反过来 RT 高,不一定是 SQL 慢的原因。如果是开发同学遇到监控尤其是 trace 系统发现某个接口慢了,并不一定是 SQL 慢。通常用来监测 MySQL 响应时间,或者说是请求在服务器端的处理时间,其输出结果包括了响应时间相关的统计值,用来诊断服务器端性能状况。95_avg:此间隔内,95% 的请求量的平均响应时间,单位微妙,该值较能体现 MySQL Server 的查询平均响应时间。从 MySQL 5.6 开始以插件形式安装:INSTALL PLUGIN QUERY_RESPONSE_TIME_AUDIT SONAME 'query_response_time.so';INSTALL PLUGIN QUERY_RESPONSE_TIME SONAME 'query_response_time.so';INSTALL PLUGIN QUERY_RESPONSE_TIME_READ SONAME 'query_response_time.so';INSTALL PLUGIN QUERY_RESPONSE_TIME_WRITE SONAME 'query_response_time.so';然后通过 show plugins 命令检查插件是否安装成功。
  • 8点1氪:iPhone 12或取消附赠有线耳机;水滴筹轻松筹员工再起冲突;瑞幸回应裁员传言

    iPhone 12或取消附赠有线耳机,对此你怎么看?天风国际郭明錤:iPhone 12或取消附赠有线耳机,将拉动AirPods 2需求36氪获悉,天风国际分析师郭明錤表示,因下列3个原因,天风国际上调2020年AirPods出货量至9380万部,并预期AirPods出货将在2020下半年迎来强劲增长。 新款iPhone 可能将取消随机附赠有线耳机 带动售价较低之AirPods 2 需求。水滴筹表示,已对涉事员工进行了批评教育。因公司未按期披露定期报告,涉嫌信息披露违法违规, 中国证券监督管理委员会决定对公司进行立案调查。
  • 有赞HR天使团等你来

    成长建议:1、自学:HR理论知识,如绩效管理,薪酬激励,员工关系,职业发展等;2、在岗实践:了解业务、掌握业务伙伴技能;案例交流和复盘;参与业务会议,深入了解业务,为业务提供差异的人力资源解决方案;3、修炼职业能力:人际敏感,沟通,说服和影响力,危机意识,抗压能力等;4、参加培训:公司内部战略、业务培训或外部HR相关培训;5、一些书目推荐:《原则》《赋能》《非暴力沟通》。
  • 来了来了,2020 首场 Meetup ,可!

    从二月到现在小松鼠收到诸多关于 Meetup 的咨询和大家的一些心声,比如:“2020 Meetup 还有吗?什么时候办?”5月16日,2020 首场 Meetup 重磅上线。一如既往,本次 Meetup 邀请了来自袋鼠云、网易云音乐、有赞及阿里巴巴的四位技术专家为您现场直播,让您足不出户,有直播看、有干货学、有奖品拿~本次 Meetup 您将了解:如何基于 Flink 实现分布式数据同步,原理是怎样的?
  • 接口自动化对比工具实践

    接下来我们分别针对操作、查询这两类接口进行处理。读接口校验思路读接口校验相对简单,分别请求基础环境和项目环境,根据返回值的异同来判定用例是否通过。通过两次基础环境返回值的比较,不同的路径值对应的路径,就是下次比较要忽略的路径。
  • 有赞美业接入智能 POS 的架构演进之路

    为了满足商家日益丰富的支付渠道,尤其对于刷卡能力的需求,有赞的多个 App 均对接了智能 POS 机这一硬件。随着业务的快速发展,笔者所在的有赞美业共陆续对接了多个厂家的不同类型的智能 POS 机硬件。如何更好地接入各式各样的 POS SDK 成为一个摆在我们面前的问题。本文将按照时间线的顺序,结合在对接过程中的思考与总结,回顾我们 POS SDK 对接方案的演进过程,希望能够带给大家一定的启发。由于 POS SDK 之间实现的差异,很容易带来一些意想不到的问题,比如说依赖冲突、资源文件冲突等等。
  • 有赞发号器多机房方案

    、、点击关注“有赞coder”获取更多技术干货哦~作者:小朋友团队:中间件团队有赞发号器多机房方案发号器一般用来产生全局唯一 ID,有赞发号器的设计及背景参见文章《如何做一个靠谱的发号器》,本文在此基础上进行扩展,提供多机房发号与集群拆分能力,下文中使用 March 表示发号器服务。
  • 有赞数据仓库实践之路

    尽管没有用 Informatica 这类商业化的 ETL 工具,但是调度 scheduler 和监控 monitor 的能力却是数据仓库任务必不可少的。于是,在2016年的最后一个季度,有赞开始了基于 airflow 二次开发的数据平台建设,随之也开启了数据仓库的规范之路。数据仓库规范首先要考虑的是分层问题以及随之而来的主题域划分。有赞的 ODS 落地层解决了两个问题:1)导表的冲突,2)落后的数据仓库中间层建设和日益增长的业务需求之间的矛盾。权限的实现可以参考有赞大数据平台安全建设实践。
  • 有赞全链路追踪实践

    全链路追踪系统就是为了解决微服务场景下的这些问题而诞生的。有赞的链路追踪目前在使用的是Cat协议,业界也已经有比较成熟的开源协议:OpenTracing,OpenTracing是一个“供应商中立”的开源协议,使用它提供的各语言的API和标准数据模型,开发人员可以方便的进行链路追踪,并能轻松打通不同语言的链路。借助Jar包容器提供的入口,链路追踪的SDK在应用启动之前完成字节码转换器的装载工作,同时SDK也托管在该Jar包容器中,进而在实现应用无感知的追踪同时,又实现了全链路追踪SDK的透明升级。
  • 有赞移动端商品模块的架构演变之路

    网店商品SDK是有赞App中的网店商品业务模块,目前支持微商城、零售。业务梳理有赞微商城是面向全行业的移动电商解决方案,通过完整的在线开店、客户管理、营销推广和经营分析工具。其商品业务模块分为商品库、门店商品和网店商品这三部分。这样就可以达到每增加一种业务标识,都可以通过从现有的能力标中选择、组合来快速支持,目前App中的商品模块并不支持这样的能力,所以这也是在这次改造中需要达成的目标之一。更多关于模块化相关的内容,iOS可以参考 有赞移动 iOS 组件化(模块化)架构设计实践,Android可以参考 有赞微商城-Android组件化方案。
  • Apollo在有赞的实践

    总结来说,多环境的支持是Apollo在有赞的实践做的最不好的地方,之所以会这样,根本原因在于对Apollo的抽象没有理解清晰,所以出现了破坏抽象的定制。下面是Apollo相关的配置,通过运维系统写到每个机器上,通过读取这个文件,可以识别到当前所在的环境、机房以及其他的信息。Apollo作为核心的组建,也需要支持双机房部署。这就带来一个需求,就是Apollo需要在线上环境支持开发者的测试环境和线上环境的配置隔离。其实Apollo的设计里面,是支持环境和集群两个纬度的配置隔离的,所以针对这种需求场景,是可以使用集群隔离的特性的。
  • Android-模块化-面向接口编程

    面向接口编程它的核心思想是将抽象与实现分离,从组件的级别来设计代码,达到高内聚低耦合的目的。面向接口编程方法是,先定义底层接口模块,也就是 通信的协议与功能约定 ,是提供方实现对应的功能与能力。面向接口编程的好处?在模块化中可以相互依赖service(接口层)或依赖多个。对于 module 是在同一个工程里的项目结构,service 可以放到统一的一个 Module 下,我们统称为 Mediator,这样做的目的是为了减少 Module 创建与维护。使用一个 Mediator Module 统一管理这这些 service 就很好控制了 module 数量。
  • 疫情围城,中国互联网很能打!

    疫情肆虐的半个月,像是过去了半个多世纪。这场疫情,几乎将所有人都牵扯了进来,各行各业都在驰援武汉,医务工作者、警务人员、新闻工作者、运输工人等等。所有人都在为争取同一场胜利而忙碌,各大互联网公司也在行动!“远程办公”大考疫情影响,让原本属于“未来”的办公场景猝不及防地提前了。一边是因为疫情影响无法开工,员工待业;一边是业务暴增的同时人手急缺。本来还在讨论中的概念说来就来,所有职场人迎接开年第一场“远程办公”大考。一种新型办公方式就此衍生——网易率先提出的“无接触招聘”。
公告

《从零开始开发BBS》课程上线啦,快来跟着我一步步搭建属于你的BBS吧。

课程地址:https://www.shiyanlou.com/courses/1436
9折优惠邀请码: ZHwfIjb1

该课程会带领大家一步步的了解并熟悉Go语言开发,如果你是一个Go语言初学者,或者正准备学习Go语言,那么这个课程非常适合你。如果你熟练掌握了本课程中的知识点,相信你就已经入门Go语言开发,并能胜任日常的开发工作了。