锁的优化
1. 锁的优化有哪些手段? (1)降低 锁 的范围 例如:将方法上的锁可以加到 代码快上 (2)锁分离:读读之间不需要同步,读写和写写之间才需要同步,例如:读写锁 锁分离延伸:只要操作互不影响,就可以锁分离,例如 LinkedBlockingQuene (3)减少锁力度:将一个大对...
2024-01-10集群优化
思考:现目前的架构是什么?业务逻辑? 研发一台,测试&生产共用一套k8s集群。 目前前端已经迁移到k8s,生产后端暂时没有上k8s。造成目前架构的原因是什么? 历史遗留原因 造成架构不合理那些地方不合理,为什么?(1).使用经典公网模式,会自动分配局域网ip地址 , nginx-ingres...
2024-01-10SQL优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然...
2024-01-10一次查询优化
sql 版本1.0: 最开始由于测试环境待办表和已办表也会有重复数据,是把代办表和已办表查询结果 union all 后,使用下面方式去重,数据量太大,效率很低。 ROW_NUMBER() OVER(PARTITION BY REMIND_ID ORDER BY REMIND_ID ) RN sql 版本2.0: 由于生产环境待办表和已办表数据不...
2024-01-10这段代码咋优化
<template slot-scope="scope"> <state :type="getStateObject(scope.row.state).type" :text="getStateObject(scope.row.state).value"></state> </template>const getStateObject = (state) =...
2024-02-16SEO 优化总结
最根本的原则就是代码后端直出,不管是 jsp、php、还是 nodejs 的直出,都 OK,简单来说,就是右击查看源代码,可以看到 dom 结构如果是使用的模板引擎,只渲染了 json 数据到界面上,dom 结构需要 JS 再行渲染的话,也是不行的iframe 嵌套的,seo 不会去抓JS 渲染的,不会去抓嵌套的 flash、图片,更不...
2024-01-10TVM GEMM优化
本文记录如何使用TVM v0.6在CPU上优化GEMM,节选自TVM官方教程。类似地,可参考Vivado HLS优化GEMM的方法。其中涉及到局部性(locality)的问题会详细进行分析。朴素GEMM我们可以将朴素GEMM,写成下列这种伪代码形式,用爱因斯坦求和记号(einsum)即$C_{ij}=A_{ik}B_{kj}$for (i, 0, M)for (j, 0, N)for (k, 0, K)C[i][j] += A[...
2024-01-10性能优化的核心思路,干货分享
一、背景平时技术交流的时候,很多同学都会问一些性能优化方面的问题。比如:有一张订单表为了保持订单记录,更新数据时不能删除,需要打算加上版本号,查询时取版本号最新的给前端,还有场景是查询订单历史给前端。订单表量一般不会太小,每次先分组查询取出最大的一条,然后外层再...
2024-01-10Java编程性能优化
1尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制...
2024-01-10js性能优化技巧
性能优化:简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短http:超文本协议它的最上层是应用层 传输层 网络层 物理层请求信息:请求行 请求头 空行 消息体响应信息:状态行和状态码使用值类型的ToString方法:在连接字符串时,经常使用"+"号直...
2024-01-10SQLite 性能优化实例分享
最早接触 iOS 开发了解到的第一个缓存数据库就是 SQLite,后面一直也以 SQLite 作为中坚力量使用,以前没有接触到比较大量数据的读写,所以在性能优化方面关注不多,这次对一个特定场景的较多数据批量读写做了一个性能优化,使性能提高了十倍。大致应用场景是这样:每次程序启动会从服务器拉...
2024-01-10【性能优化实战】宝宝知道小程序FMP优化实录
背景宝宝知道小程序从首次发布至今,经过了几十个版本的迭代。随着业务发展,页面功能内容的不断增多,相关性能数据不断变差,核心性能数据 FMP 长期处在 2000ms 以上。在该项目之前,我们团队也对小程序做了一定的性能调优工作,内容包括:包体积优化,去除了不少引用在项目中的图片素材...
2024-01-10金九银十冲刺大厂,你需要知道的性能优化和手写源码
写在开头今天这些只是基础知识,面试时候如果面试很高级的岗位,只靠背面试题是很容易被识破,建议大家只是作为一个学习的点,不断去深入、实践在项目中。有一些同学说前端很难,很多东西,学不完,我想你可能是走错了方向,毕竟人不是万能,不要太深入那些对你目前来说没有意义的东西,如...
2024-01-10性能调优的一些思路步骤
1.目前现象2.提出猜想3.验证猜想4.定位到问题5.解决问题 分析问题难其实就对应的是第2步骤,说白了就是你提不猜想,为什么你提出猜想,那是因为你的知识面不广,基础知识不牢固。知识面不够,就导致针对现象,提不出问题。 定位问题难对应第4步骤,这个的问题就是不会使用工具,我们在佐...
2024-01-10浅谈Vue 性能优化之深挖数组
背景最近在用 Vue 重构一个历史项目,一个考试系统,题目量很大,所以核心组件的性能成为了关注点。先来两张图看下最核心的组件 Paper 的样式。 从图中来看,分为答题区与选择面板区。稍微对交互逻辑进行下拆解:答题模式与学习模式可以相互切换,控制正确答案显隐。单选与判断题直接...
2024-01-10React项目性能优化
1. 使用生产版本和Fragment1. 生产版本确保发布的代码是生产模式下(压缩)打包的代码。一般运行npm run build命令。直接从webpack看配置文件,需要设置mode = 'production'。 调用teaser-webpack-pluginReact Devtools可以根据地址栏右侧图标颜色判断是否是生产模式。2. Fragment减少不必要节点的生成。也可以使用空...
2024-01-10详解C/C++性能优化背后的方法论TMAM
目录前言一、示例二、CPU 流水线介绍三、自顶向下分析(TMAM)3.1、基础分类3.1.1、Retiring3.1.2、Bad Speculation3.1.3、Front-End-Boun3.1.4、Back-End-Bound3.3、如何针对不同类别进行优化?3.3.1、Front-End Bound3.3.2、Back-End Bound3.3.3、Bad Speculation分支预测四、写在最后五、CPU知识充电站前言性能优化的难点在于找出关键...
2024-01-10原神3.0系统调整优化内容一览
原神3.0版本即将在近期上线,除了须弥的新内容,游戏也在系统上进行了一次大的翻新和优化,下面小编就为大家分享原神3.0系统调整优化内容一览,感兴趣的玩家快来一起看看吧!原神3.0系统调整优化内容一览一、敌人 1.下调了魔神任务序章·第三幕「巨龙与自由之歌」中「撕裂天空之龙」...
2024-01-10游奇《卧龙吟》战马系统再优化,三阶战马全新来袭
游奇《卧龙吟》战马系统可以让纵横沙场的主公们战力再度得到提升,培养出一匹心仪的战马,可以提高上阵武将的属性,让你一骑绝尘于战场。 作为一款以三国故事为背景的大型策略游戏,高度还原了三国时期的战时场景和策略运用,战马作为古代战场上最常见的战争工具,自然需要有他更加...
2024-01-10系统性能优化分析
Java 性能分析Java 性能重要6指标 1 程序 执行时间 2 CPU 时间3 内存占用4 磁盘吞吐(I/O操作)5 响应时间6 网络吞吐 性能瓶颈 --木桶原理 短板理论 1 磁盘I/O 2 网络读写类似磁盘I/O3 cpu 4 异常5 数据库6 锁竞争7 内存(影响较小) 调优1 设计调优 对系统影响最大【质变】 观察者模式 代替...
2024-01-10C++快速排序的分析与优化详解
相信学过数据结构与算法的朋友对于快速排序应该并不陌生,本文就以实例讲述了C++快速排序的分析与优化,对于C++算法的设计有很好的借鉴价值。具体分析如下:一、快速排序的介绍快速排序是一种排序算法,对包含n个数的输入数组,最坏的情况运行时间为Θ(n2)[Θ 读作theta]。虽然这个最坏情况的...
2024-01-10如何优化快速排序
我正在尝试制定一种有效的quicksort算法。它可以正常工作,但是当元素数量巨大且数组的某些部分已预先排序时,运行时间会很长。我在上查找了Wikipedia文章quicksort,并发现以下内容:为了确保最多使用O(log N)空间,请先递归到数组的较小部分,然后使用tail调用递归到另一个数组。对于这样的小数...
2024-01-10快排与堆排
快速排序荷兰国旗问题(Dutch National Flag Problem)给定一个数组arr,和一个数num;请把小于等于num的数放在数组的左边,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N) 思路:给定一个无序数组[4,5,6,7,2,1,9,8],num为5使用一个变量p来划分小于等于num的范围,刚开始p=-1表示这个范围不...
2024-01-10浅说MySQL优化方法
在数据库的优化上我们有两个方面,一方面是安全,另一方面则是性能. 安全 ,就是要保证数据的可持续性; 性能,则说的就是数据的高性能访问;2.优化方法 1)选取最适用的字段属性 一般来说,数据库中的表越小,查询执行的效率越快,因此我们可以在创建表的...
2024-01-10MySQL,优化查询的方法
对于数据库,优化查询的方法1.使用索引 使用索引时,应尽量避免全表扫描,首先应考虑在 where 及 order by ,group by 涉及的列上建立索引。2.优化SQL语句 1)分析查询语句:通过对查询语句的分析,可以了解查询语句执行情况,找出查询语句执行的瓶颈,从而优化查询语句。 通过explain(...
2024-01-10PHP方法参数过多优化方案
我们在编写PHP方法时,通常有若干个参数,就像下面的代码:Class Book{ public function create($name, $cateId, $author) { $params = [ "name" => $name, "cateId" => $cateId, "author" => $author ]; }}没有任何问题。但是,随着业务的发展,参数可能会不断增加。就像上面的例...
2024-01-10iOS多语言本地化流程的优化方案
前言多语言本地化,是我们在做IOS项目的时候经常用的,下面根据自己的经验和使用场景,来全面的说说多语言本地化的解决方案。本文从提升效率和减少错误两方面对传统的多语言本地化方式进行了优化,虽然标题是iOS,但其实macOS也通用。下面话不多说了,来一起看看详细的介绍吧。传统的方法...
2024-01-10一则MySQL派生表优化案例
笔者最近遇到一则典型的因为sql中存在派生表造成的性能案例,通过改写SQL改善了的性能,但当时并没有弄清楚这其中的原因,派生表究竟是什么原因会导致性能上的副作用。说来也巧,很快就无意中就看到下文中的提到的相关的派生表的介绍以及其特性之后,才发现个中缘由,本文基于此,用一个...
2024-01-10MySQL发展及优化方案(未完待续)
1.MySQL版本: (目前到8了) 5.x: 5.0-5.1:早期产品的延续,升级维护 5.4 - 5.x : MySQL整合了三方公司的新存储引擎 (推荐5.5),企业使用最多的是5.52.linux下安装方式 yum tar.gz rpm版(本次使用)安装:rpm -ivh rpm软件名 (先装服务端) 如果安装时 与某个软件 xxx冲突,则需要将...
2024-01-10浅谈MySQL大表优化方案
背景阿里云RDS FOR MySQL(MySQL5.7版本)数据库业务表每月新增数据量超过千万,随着数据量持续增加,我们业务出现大表慢查询,在业务高峰期主业务表的慢查询需要几十秒严重影响业务方案概述一、数据库设计及索引优化MySQL数据库本身高度灵活,造成性能不足,严重依赖开发人员的表设计能力以及索...
2024-01-10MySQL的慢日志线上问题及优化方案
MySQL 慢日志(slow log)是 MySQL DBA 及其他开发、运维人员需经常关注的一类信息。使用慢日志可找出执行时间较长或未走索引等 SQL 语句,为进行系统调优提供依据。本文将结合一个线上案例,分析如何正确设置 MySQL 慢日志参数和使用慢日志功能,并介绍下网易云 RDS 对 MySQL 慢日志功能的增强。MySQL ...
2024-01-10Vue SPA 首屏优化方案
目录前言优化SSR按需引入1. 路由文件中按需引入组件2. 静态库按需引入模块,而不是全部请求优化1. css、js 放置顺序2. 使用字体图标,icon 资源使用雪碧图使用CDN不使用 CDN:使用 CDN:入口 chunk 优化前言常规 vue 项目打包后访问,返回一个只包含 div 的 html,其他内容块都是通过 js 动态生成的。存在...
2024-01-10记一次MySQL的优化案例
一 背景 有赞的每个OLTP数据库实例上会设置一个sql-killer进程用于kill 掉执行时间超过一定阈值的sql。下午开发接收到sql被kill的报错,一起帮助开发排查,本文介绍该案例。二 场景分析表结构:CREATE TABLE `xxx_info` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `user_id` bigint(20) unsigned NOT ...
2024-01-10