【万字长文】前端性能优化实践-编程思维

一、引言 从一个假死页面引发的思考: 作为前端开发,除了要攻克页面难点,也要有更深的自我目标,性能优化是自我提升中很重要的一环; 在前端开发中,会偶遇到页面假死的现象, 是因为当js有大量计算时,会造成 UI 阻塞,出现界面卡顿、掉帧等情况,严重时会出现页面卡死的情况; 在这里简单穿插概念之进程和线程 进程:一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程

服务器常见问题排查(一)——cpu占用高、上下文频繁切换、频繁gc-编程思维

一般而言cpu异常往往还是比较好定位的。原因包括业务逻辑问题(死循环)、频繁gc以及上下文切换过多。而最常见的往往是业务逻辑(或者框架逻辑)导致的,可以使用jstack来分析对应的堆栈情况。 使用jstack排查占用率问题 当使用jstack排查占用率问题时,可以按照以下步骤进行: 首先,使用top命令找到占用率较高的进程,并记录其PID。 接着,使用以下命令来查看该进程中占用CPU较高的

深入理解 netty fastthreadlocal-编程思维

作者:vivo 互联网服务器团队- Jiang Zhu 本文以线上诡异问题为切入点,通过对比JDK ThreadLocal和Netty FastThreadLocal实现逻辑以及优缺点,并深入解读源码,由浅入深理解Netty FastThreadLocal。 一、前言 最近在学习Netty相关的知识,在看到Netty FastThreadLocal章节中,回想起一起线上诡异问题。 问题描

dpdk丢包那些事-编程思维

本文来自博客园,作者:T-BARBARIANS,博文严禁转载,转载必究!   一、前言   DPDK技术原理相关的文章不胜枚举,但从实战出发,针对DPDK丢包这一类问题进行系统分析的文章还是凤毛麟角。   刚好最近几个月一直在做DPDK的相关性能优化,x86和arm平台都在做。在完整经历了发现问题、分析问题、解决问题的所有阶段后,回顾过去这段时间的来龙去脉,觉得可以将其将形成一篇技术文章,并予以

redis系列24:redis使用规范-编程思维

Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5:深入分析Cluster 集群模式 追求性能极致:Redis6.0的多线程模型 追求性能极致:客户端缓存带来的革命 Redis系列8:Bitmap实现亿万级数据计算 Redis系列9:Geo 类型赋

redis系列23:性能优化指南-编程思维

Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5:深入分析Cluster 集群模式 追求性能极致:Redis6.0的多线程模型 追求性能极致:客户端缓存带来的革命 Redis系列8:Bitmap实现亿万级数据计算 Redis系列9:Geo 类型赋

代码层面探索前端性能-编程思维

前言 最近在做性能优化,具体优化手段,网上铺天盖地,这里就不重复了。 性能优化可分为以下几个维度:代码层面、构建层面、网络层面。 本文主要是从代码层面探索前端性能,主要分为以下 4 个小节。 使用 CSS 替代 JS 深度剖析 JS 前端算法 计算机底层 使用 CSS 替代 JS 这里主要从动画和 CSS 组件两个方面介绍。 CSS 动画 CSS2 出来之前,哪怕要实现一个很

利用sharedarraybuffer进行多线程编程-编程思维

利用SharedArrayBuffer进行多线程编程 在现代Web应用程序中,性能是一个至关重要的因素。为了提高Web应用程序的性能,我们经常需要执行并行计算,例如图像处理、音频处理或数据分析。在这种情况下,多线程编程是一种强大的工具,它允许我们充分利用多核处理器。 然而,多线程编程并不是一件容易的事情,因为它涉及到数据同步和竞争条件等复杂问题。在这里,我们将介绍SharedArrayBuff

某酒管集团-单例模式对性能的影响及思考-编程思维

摘要:  大概一年前开始在思考 构造函数中 依赖注入较多,这对系统性能及硬件资源消耗产生一些优化想法。 一般较多公司的项目都使用Autofac  依赖注入(Scoped 作用域),但是发现过多的对象产生 会消耗  CPU , 内存 并给GC(垃圾回收)造成一定的压力。那么开始思考是否能够使用 单例 (Singleton)来解决这些问题呢? 带着这些想法开始ReView整个项目的代码,排查是否存在

react请求机制优化思路-编程思维

说起数据加载的机制,有一个绕不开的话题就是前端性能,很多电商门户的首页其实都会做一些垂直的定制优化,比如让请求在页面最早加载,或者在前一个页面就进行预加载等等。随着react18的发布,请求机制这一块也是被不断谈起,并且在后续其实也给出了明确的方向。 假如我们页面中有三个组件C1、C2、C3依次嵌套,每个组件中有对应的请求F1、F2、F3,通常大多数人会使用useeffect和state变量来实

程序局部性原理 all in one-编程思维

程序局部性原理 All In One 性能优化 局部性原理 / 引用局部性 在计算机科学中,引用局部性,也称为局部性原理,处理器在短时间内重复访问同一组内存位置的趋势。 引用局部性有两种基本类型——时间局部性和空间局部性。 时间局部性是指在相对较小的持续时间内重用特定数据和(或)资源。 空间局部性(也称为数据局部性) 是指在相对较近的存储位置内使用数据元素。 顺序局部性是空间局部性的一种特

5个高并发场景优化的衡量指标-编程思维

本文分享自华为云社区《【高并发】性能优化有哪些衡量指标?需要注意什么?》,作者: 冰 河 。 面试官:平时工作中有没有做过一些性能优化相关的工作呢? 首先,我们来分析下面试官的这个问题。其实,以我本人招聘面试的经验来说,如果面试官问出了这样的一个问题。本质上不只是想让面试者简单的回答:做过或者没做过。而是想通过这个简单的问题来考察下面试者的思考能力和对于问题的理解能力。面试官本质上是想让面试者通

简单配置sql专家云-编程思维

一、实例配置 1.添加实例    点击全面诊断实例配置,右上角点击添加。 2.填写实例信息    根据下图填写对应的信息,连接测试成功后点击保存。 3.添加完成     4.修改实例    找到对应的实例,点击下图蓝色框修改即可。   5.停止实例    找到对应的实例,点击下图红色框停止即可。   6.删除实例    找到对应的实例,点击下图黄色框删除即可。   二 创建账号 打

【python】从同步到异步多核:测试桩性能优化,加速应用的开发和验证-编程思维

测试工作中常用到的测试桩mock能力 在我们的测试工作过程中,可能会遇到前端服务开发完成,依赖服务还在开发中;或者我们需要压测某个服务,而这个服务的依赖组件(如测试环境MQ) 无法支撑并发访问的场景。这个时候我们可能就需要一个服务,来替代测试环境的这些依赖组件或服务,而这就是本文的主角--测试桩。 测试桩可以理解为一个代理,它可以用于模拟应用程序中的外部依赖项,如数据库、网络服务或其他API,它

数仓性能调优:大宽表关联merge性能优化-编程思维

摘要:本文主要为大家讲解在数仓性能调优过程中,关于大宽表关联MERGE性能优化过程。 本文分享自华为云社区《GaussDB(DWS)性能调优:大宽表关联MERGE性能优化》,作者:譡里个檔。 【业务背景】 如下MERGE语句执行耗时长达2034s MERGE INTO sdifin.hah_ae_line_sr_t_02_8663 Event_1u18olr USING ( WITH Ev

京东到家小程序-在性能及多端能力的探索实践-编程思维

一、前言 京东到家小程序最初只有微信小程序,随着业务的发展,同样的功能需要支持容器越来越多,包括支付宝小程序、京东小程序、到家APP、京东APP等,然而每个端分开实现要面临研发成本高、不一致等问题。 为了提高研发效率,经过技术选型采用了taro3+原生混合开发模式,本文主要讲解我们是如何基于taro框架,进行多端能力的探索和性能优化。 二、多端能力的探索 1.到家小程序基于taro3的架构流程图

翻车了,被读者找出 bug-编程思维

大家好呀,我是小楼。 本文是上篇文章《使用增强版 singleflight 合并事件推送,效果炸裂!》的续集,没看过前文必须要先看完才能看本文,实在不想看,拉到文章末尾,给我点个赞再退出吧~Doge 上篇文章发出后,有一位读者朋友给我发私信,写了一大段话: 一开始,没太看懂,于是就细问了一下 在看了解释之后,感觉好像有点懂了,再三思考后,确认了,这里面有 BUG。 理想状态 为了描述简单,这

汇总低效的sql语句-编程思维

背景 SQL专家云像“摄像头”一样,对环境、参数配置、服务器性能指标、活动会话、慢语句、磁盘空间、数据库文件、索引、作业、日志等几十个运行指标进行不同频率的实时采集,保存到SQL专家云自己的数据库中。因此可以随时对任何一个时间段内的SQL语句进行汇总,找到低效的SQL语句。 慢语句 进入慢语句的汇总视图,选择一个时间段进行汇总。图表数据包括时间分布图、执行时间分布图、登录名分布图、数据库名称分布