优化

分布式系统的需求和一些缺点

旧街凉风 提交于 2020-02-08 07:45:26
将 Scalabilty 的需求分成两种: • Data Scalability: 单台机器的容量不足以 (经济的) 承载所有资料,所以需要分散。 如: NoSQL • Computing Scalability: 单台机器的运算能力不足以 (经济的) 及时完成运算,所以需 要分散。 如:科学运算。 在之後几天,我会试着就这两种需求来解析其中会遇到的问题与常见解法。 不管是哪一种需求,在决定采用分散式架构时,就几乎注定要接受一些牺牲: • 牺牲效率:网路延迟与节点间的协调,都会降低执行效率。 • 牺牲 AP 弹性:有些在单机上能执行的运算,无法轻易在分散式环境中完成。 • 牺牲维护维运能力:分散式架构的问题常常很难重现,也很难追踪。 另外,跟单机系统一样,也有一些系统设计上的 tradeoffs • CPU 使用效率优化或是 IO 效率优化 • 读取优化或是写入优化 • Throughput 优化或是 Latency 优化 • 资料一致性或是资料可得性 来源: CSDN 作者: 谢奇标 链接: https://blog.csdn.net/qq_40612528/article/details/104207618

在家办公算划水?你错了。更一篇关于性能优化的总结

左心房为你撑大大i 提交于 2020-02-06 19:49:39
由于最近疫情的问题,很多上班族都延迟的上班时间在家办公,对于疫情祖国已经做出了指示,解放军来了,我们更加坚定必胜信心,希望可以尽快得到控制,为解放军点赞o( ̄▽ ̄)d 那很多人在家选择办公发现真的没有真的在公司那么充实,也刚好金三银四快要到了,这段时间刚好在家可以抽空多充实下自己,今天就更一篇关于性能优化的总结 相关内容之后会在GitHub上更新,希望多多关注 ( 顺手留下GitHub链接,需要获取相关面试等内容的可以自己去找 ) https://github.com/xiangjiana/Android-MS (VX:mm14525201314) ↓获取如下面试笔记 一、Android性能优化的方面 针对Android的性能优化,主要有以下几个有效的优化方法: 1.布局优化 2.绘制优化 3.内存泄漏优化 4.响应速度优化 5.ListView/RecycleView及Bitmap优化 6.线程优化 7.其他性能优化的建议 下面我们具体来介绍关于以上这几个方面优化的具体思路及解决方案。 二、布局优化 关于布局优化的思想很简单,就是尽量减少布局文件的层级。这个道理很浅显,布 局中的层级少了,就意味着Android绘制时的工作量少了,那么程序的性能自然就 提高了。 如何进行布局优化? ①删除布局中无用的控件和层次,其次有选择地使用性能比较低的 ViewGroup

【深度学习基础】从零开始的炼丹生活07——深度模型中的优化

喜夏-厌秋 提交于 2020-02-04 07:09:35
往期回顾: 04——从传统机器学习走向深度学习 05——深度前馈网络、神经网络概述 06——深度学习中的正则化 介绍了神经网络的基本构件和正则化策略之后,学习一下深度模型中的优化。先说一说传统的纯优化与机器学习中的优化的异同,再介绍一下神经网络中优化的挑战,最后说说基本的优化算法。(参考《深度学习》第8章) 一、机器学习中的优化 传统的优化方法是纯优化最小化目标 J 本身,而机器学习的优化是间接作用的。在机器学习问题中,我们关注某些性能度量 P ,其定义于测试集上并且是不可解的。因此机器学习希望通过降低代价函数 J(θ)来间接提高 P 。 1. 经验风险最小化 机器学习算法的目标是降低期望泛化误差 J ∗ ( θ ) = E ( x , y ) ∼ p d a t a L ( f ( x ; θ ) , y ) J^*(\theta)=\mathbb E_{(\bold {x,y})\sim p_{data}}L(f(x;\theta),y) J ∗ ( θ ) = E ( x , y ) ∼ p d a t a ​ ​ L ( f ( x ; θ ) , y ) 这被称为 风险 。此时数据取自真实的潜在分布,然而,我们遇到的问题通常并不清楚真实分布,只知道训练集中的样本。 我们将机器学习中的优化转换回一个优化问题的最简单方法就是最小化训练集上的期望损失,以训练集上的经验分布 p

IOS开发实训第十二周周报

余生长醉 提交于 2020-01-30 01:41:50
IOS开发实训第十二周周报 总结: 在上一周,我基本实现了服务端的主要功能,本周的目标是进一步地优化服务器的性能,以便于它能更快的响应移动端的请求, 学习目标有: (1)数据库的优化策略 (2)服务器的优化策略 学习知识点归纳 1、数据库的优化策略 (1)数据类型的优化 更小的通常更好,因为它占用更小的磁盘、内存和cpu缓存,且处理时需要的cpu周期更小,但需要确保没有低估需要存储的值的范围; 简单的数据类型操作需要更少的cpu处理周期,如:整型比字符串代价更低、MySQL内建类型(date,time,datetime)而非字符串来存储时间、用整型存储IP地址; 尽量避免使用NULL,通常最好指定列为NOT NULL,除非真的需要存储NULL值,因为可为 NULL 的列使得索引、索引统计和值比较都更复杂,需要进行特殊处理; (2)索引优化 建立索引的优点:1、索引可以大大减少数据库表的扫描量;2、索引可以帮助服务器避免排序和临时表;3、索引可以将随机I/O变成顺序I/O; 索引类型: B-tree索引,所有数据按索引值顺序存储,并且每一个叶子叶到根的距离相等,适用于范围查找; 哈希索引:对于每一行数据,存储引擎都会对所有索引列计算一个哈希码,哈希索引将所有哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针,应用于某些频繁引用的索引值,他会在内存中基于B

STM32,ARM,Keil工具相关

China☆狼群 提交于 2020-01-28 16:11:01
One ELF Section per Function https://blog.csdn.net/iceiilin/article/details/6091575 因此,可以得出,选项One ELF Section per Function的主要功能是对冗余函数的优化。通过这个选项,可以在最后生成的二进制文件中将冗余函数排除掉(虽然其所在的文件已经参与了编译链接),以便最大程度地优化最后生成的二进制代码。 而该选项实现的机制是将每一个函数作为一个优化的单元,而并非整个文件作为参与优化的单元。 选项One ELF Section per Function所具有的这种优化功能特别重要,尤其是在对于生成的二进制文件大小有严格要求的场合。人们习惯将一系列接口函数放在一个文件里,然后将其整个包含在工程中,即使这个文件将只有一个函数被用到。这样,最后生成的二进制文件中就有可能包含众多的冗余函数,造成了宝贵存储空间的浪费。 The One ELF Section per Function option tells the compiler to put all functions into their own individual ELF sections. This allows the linker to remove unused functions. An ELF code

性能优化-group by的优化

不羁的心 提交于 2020-01-27 08:24:55
4、group by的优化 最好使用同一表中的列, 需求:每个演员所参演影片的数量-(影片表和演员表) explain select actor.first_name,actor.last_name,count(*) from sakila.film_actor inner join sakila.actor using(actor_id) group by film_actor.actor_id; 优化后的SQL: explain select actor.first_name,actor.last_name,c.cnt from sakila.actor inner join ( select actor_id,count(*) as cnt from sakila.film_actor group by actor_id )as c using(actor_id); 说明:从上面的执行计划来看,这种优化后的方式没有使用临时文件和文件排序的方式了,取而代之的是使用了索引。查询效率老高了。 这个时候我们表中的数据比较大,会大量的占用IO操作,优化了sql执行的效率,节省了服务器的资源,因此我们就需要优化。 注意: 1、mysql 中using关键词的作用:也就是说要使用using,那么表a和表b必须要有相同的列。 2、在用Join进行多表联合查询时

axure 9 软件介绍及安装

五迷三道 提交于 2020-01-26 23:05:41
软件介绍 axure9.0是一款非常方便好用的交互原型设计软件,该软件拥有全面的UI、新的设计和文档特征,算是向前迈出了一大步,拥有全新的硬件加速渲染引擎,在原来的基础上已经彻底破坏并重建了Windows版本的架构,设计了专为加速保存和加载而设计的文件结构。除此之外,软件能够强大,能够高效率制作产品原型,快速绘制线框图、流程图、网站架构图、示意图、HTML 模版等,并且新版本增加了许多新功能,包括简洁的界面设计,元件的新增功能,操作流程的优化改进以及强大的硬件加速渲染引擎,可以帮助产品经理、交互设计师更好的发挥创意。其中使用Axure Cloud简化用户的产品设计工作流程是axure9.0最大的更改,现在用户可以轻松共享Axure RP原型和Sketch画板,并在屏幕上收集反馈。同时它还可以辅助产品经理快速设计完整的产品原型,并结合批注、说明以及流程图、框架图等元素将产品完整地表述给各方面设计人员,如UI、UE等等,并在讨论中不断完善。本次小编为你带来的是axure9.0破解版,此版本内置破解补丁和注册机,可完美激活软件。并且下文为你提供详细的安装教程,有需要的朋友快来下载收藏吧。 安装教程 1、 下载解压,得到axure rp pro 9.0原程序、汉化补丁、授权密钥和注册机; 2、首先双击文件“AxureRP-Setup.exe”安装原程序,接受条款; 3、默认安装目录【C:

百万级sql优化查询

落爺英雄遲暮 提交于 2020-01-26 13:29:31
SQL版本 5.7 有一张流水表,未分库分表,目前的数据量为950w,分页查询使用到了limit,优化之前的查询耗时167s左右 (execution: 16s831ms, fetching: 107 ms) 按照下文的方式调整SQL后,耗时347ms (execution: 163 ms, fetching: 184 ms);优化前的SQL类似这样: -- 优化前SQL SELECT 各种字段 FROM `table_name` WHERE 各种条件 LIMIT 0,10; --优化后 SELECT * FROM `table_name` a RIGHT JOIN ( SELECT id FROM `table_name` where 条件 LIMIT 0,1000000 ) temp_table ON temp_table.id = a.id 来源: https://www.cnblogs.com/gjths/p/12234092.html

webpack dll打包优化

本小妞迷上赌 提交于 2020-01-26 09:55:31
最近一直在学习一些webpack,所以综合了一下关于dll 打包优化的方法,应用到自己的项目中!当然百度搜索出来一推,大佬的文章数不胜数。咱们也得跟紧潮流不是,所以记录一下,赶紧用自己项目试试!(大佬勿喷) 一. 优化前的打包 ; 公司项目不算是很大,打包看看时间! 打包速度: 21384ms ,21秒左右 二. 优化后的打包 ; 安装:cnpm install add - asset - html - webpack - plugin@ 2.1 .2 在bulid文件夹新建文件 ** webpack.dll.conf.js ** const path = require ( 'path' ) const webpack = require ( 'webpack' ) const OptimizeCSSAssetsPlugin = require ( 'optimize-css-assets-webpack-plugin' ) const UglifyJsPlugin = require ( 'uglifyjs-webpack-plugin' ) module . exports = { entry : { vendor : [ 'axios' , 'vue' , 'vue-router' , 'vuex' , 'iview' , //添加需要缓存的模块和插件 ] } ,

MySQL数据优化总结-查询备忘录

你离开我真会死。 提交于 2020-01-24 15:29:35
一、优化分类 二、测试数据样例 参考mysql官方的sakina数据库。 三、使用mysql慢查询日志对有效率问题的sql进行监控 第一个,开启慢查询日志。第二个,慢查询日志存储位置。第三个,没有使用索引的也会记录到慢查询日志中。第四个,超过1秒之后的查询记录到慢查询日志中(通常设置100ms)。 3.1、分析慢查询日志文件 3.1.1 tail命令 tail -50 /home/mysql/sql_log/mysql_slow.log,输入文件中的尾部内容,即末尾50行数据. 我们抽出其中一条,查看,如下图所示。 query_time,查询耗时(单位秒);lock_time,锁表时间。rows_sent,发送请求的行数;rows_examined,查询数据导致扫描表用到的行数。 3.1.2 官方mysqldumpslow工具 mysqldumpslow ,默认随mysql安装。 mysqldumpslow -h,可查询工具支持的命令。 mysqldumpslow -s r -t 10 /var/lib/mysql/localhost-slow.log | more ,返回结果如下图所示。 3.1.3 pt-query-digest工具 比mysqldumpslow反馈的信息多。 pg-query-digest --help 查看帮助,查看使用命令。 pg-query-digest