首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏chenchenchen

    SQL性能

    WHERE column1 - 3 = -column2 转换成: ... WHERE column1 = -column2 3 还是可以带来查询性能的优化的。 针对专门操作符的 前面,讲的是关于查询条件的一般规则,在这一节中,将讨论如何使用专门的操作符来改进 SQL 代码的性能。 WHERE column1 BETWEEN 1 AND 5AND column1 <> 2 当一系列的离散的值转换成算数表达示时,也可获得同样的性能提高。 如果查询 2 总是比查询 1 执行的快的话,那么就可以建议总是将查询 1 转换成查询 2,但是有一种情况,这样做在一些数据库系统中可能会带来性能变差,这是由于两个优化缺陷所造成的。 本文总结的是一些 SQL 性能的比较初级的方面,SQL 还包括 Order by,Group by 以及 Index 等等。

    2.3K30发布于 2019-12-03
  • 来自专栏不温卜火

    Spark性能优化 (2) | 算子

    因此,mapPartitions算子适用于数据量不是特别大的时候,此时使用mapPartitions算子对性能的提升效果还是不错的。 二. foreachPartition 优化数据库操作 在生产环境中,通常使用foreachPartition算子来完成数据库的写入,通过foreachPartition算子的特性,可以优化写数据库的性能 针对上述的两个问题,我们分别进行分析: 针对第一个问题,既然分区的数据量变小了,我们希望可以对分区数据进行重新分配,比如将原来4个分区的数据转化到2个分区中,这样只需要用后面的两个task进行处理即可, 四. repartition解决 SparkSQL 低并行度问题 在第一节的常规性能中我们讲解了并行度的调节策略,但是,并行度的设置对于Spark SQL是不生效的,用户设置的并行度只对于Spark image.png 使用reduceByKey对性能的提升如下: 1. 本地聚合后,在map端的数据量变少,减少了磁盘IO,也减少了对磁盘空间的占用; 2.

    1.7K20发布于 2020-10-28
  • 来自专栏OSChina

    Mysql高级 (2)——sql性能

    sql 性能下降的原因 2 sql service的解析顺序 3 sql 的7中join 4 索引 5 explain 的介绍 单表建立索引案例 2表建立索引案例: 3表建立索引案例: -- 查询慢查询日志是否开启及记录日志的位置

    62730发布于 2019-07-31
  • 来自专栏纯洁的微笑

    Tomcat 性能之 JVM

    因此在对Web 容器( 应用服务器) 的中必不可少的是对于 JVM 的。 对于 JVM 的,主要有两个方面考虑: 内存大小配置 垃圾回收算法选择 当然,确切的说,以上两点并不互相独立,内存的大小配置也会影响垃圾回收的执行效率。 延迟、吞吐量 其他 JVM 配置 垃圾回收算法对应到的就是不同的垃圾收集器,具体到在 JVM 中的配置,是使用 -XX:+UseParallelOldGC 或者 -XX:+UseConcMarkSweepGC 所谓,就是一个不断调整和优化的过程,需要观察、配置、测试再如此重复。有相关经验的朋友欢迎留言补充! 说到底,那上面的这些选项是要配置在哪里呢?

    2.2K30发布于 2019-05-06
  • 来自专栏SmartSi

    Spark 性能之Shuffle

    概述 大多数 Spark 作业的性能主要就是消耗在了 shuffle 环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。 因此,如果要让作业的性能更上一层楼,就有必要对 shuffle 过程进行。 但是也必须提醒大家的是,影响一个 Spark 作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle 只能在整个 Spark 的性能中占到一小部分而已。 因此大家务必把握住的基本原则,千万不要舍本逐末。下面我们就给大家详细讲解 shuffle 的原理,以及相关参数的说明,同时给出各个参数的建议。 2. ,建议参考后面的几个参数,通过 bypass 机制或优化的 HashShuffleManager 来避免排序操作,同时提供较好的磁盘读写性能

    1.8K31发布于 2019-08-08
  • 来自专栏SmartSi

    Spark 性能之资源

    Spark的性能实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。 笔者根据之前的Spark作业开发经验以及实践积累,总结出了一套Spark作业的性能优化方案。整套方案主要分为开发、资源、数据倾斜、shuffle几个部分。 开发和资源是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜,主要讲解了一套完整的用来解决Spark作业数据倾斜的解决方案;shuffle,面向的是对 本文作为Spark性能优化指南的基础篇,主要讲解资源2. 资源 2.1 概述 在开发完Spark作业之后,就该为作业配置合适的资源了。 参数建议:Executor的CPU core数量设置为2-4个较为合适。

    2K30发布于 2019-08-07
  • 来自专栏SmartSi

    Spark 性能之开发

    如果没有对Spark作业进行合理的,Spark作业的执行速度可能会很慢,这样就完全体现不出Spark作为一种快速大数据计算引擎的优势来。因此,想要用好Spark,就必须对其进行合理的性能优化。 Spark的性能实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。 笔者根据之前的Spark作业开发经验以及实践积累,总结出了一套Spark作业的性能优化方案。整套方案主要分为开发、资源、数据倾斜、shuffle几个部分。 开发和资源是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜,主要讲解了一套完整的用来解决Spark作业数据倾斜的解决方案;shuffle,面向的是对 本文作为Spark性能优化指南的基础篇,主要讲解开发2. 开发 2.1 概述 Spark性能优化的第一步,就是要在开发Spark作业的过程中注意和应用一些性能优化的基本原则。

    1.3K31发布于 2019-08-07
  • 来自专栏存储内核技术交流

    Glusterfs性能

    指定了接收和发送套接字缓冲区大小的最大值,对于小文件小文件请求处理时候效率比较高 net.core.rmem_max=67108864 net.core.wmem_max=67108864 //为自动定义每个 net.ipv4.tcp_rmem=33554432 net.ipv4.tcp_wmem=33554432 Gluster参数 读写性能参数优化 // 打开metadata-cache,打开这个选项可以提高在 这尤其会影响小文件的性能,其中大量文件被快速连续地添加/创建。 gluster volume get dht-vol performance.readdir-ahead on // 设置performance.readdir-ahead的内存,默认是10mb,可以适当大 rep-vol cluster.shd-max-threads 64 //修复的数据快大小,默认是1(1*128k),默认是按照128K数据快修复,如果需要修复的数据很大,这个默认1太小,可以适当的

    3.5K42编辑于 2022-08-17
  • 来自专栏Jed的技术阶梯

    Spark性能01-资源

    Executor内存的大小,很多时候直接决定了Spark作业的性能,而且跟常见的JVM OOM异常,也有直接的关联。 参数建议: 每个Executor进程的内存设置4G~8G较为合适。 参数建议: Executor的CPU core数量设置为2~4个较为合适。 参数建议: Driver的内存通常来说不设置,或者设置1G左右应该就够了。 这个参数极为重要,如果不设置可能会直接影响你的Spark作业性能。 参数建议: Spark作业的默认task数量为500~1000个较为合适。 设置参数的3种方法 配置这些参数有两种方式 (1) 在程序中硬编码 例如 sparkConf.set("spark.default.parallelism","100") (2) 提交application

    1.5K20发布于 2018-09-13
  • 来自专栏技术向

    nextcloud性能

    nextcloud_nextcloud_1 php /var/www/html/cron.php 还可以查看cron执行记录: tail -f /var/log/cron.log 参考: 官方推荐 给出了几点建议 2. 开启http2 参考: Nginx配置HTTP2.0 5. Memcache\Redis', 'redis' => array( 'host' => 'localhost', 'port' => 6379, ) 第1行为指定本地缓存为APCu,第2

    9.6K30发布于 2019-11-20
  • 来自专栏Super 前端

    Tomcat性能

    提高Tomcat性能一般从三方面入手,JVM内存调整、禁用DNS查询、调整线程数。 一、JVM内存调整   -Xms<size> 表示JVM初始化堆的大小,-Xmx<size>表示JVM堆的最大值。 (Connector)进行性能控制的的参数是创建的处理请求的线程数。 NO2. 浅入Tomcat 运行占用内存 一、Tomcat内存使用   Tomcat的运行方式部分取决于所运行的Java虚拟机的配置信息。 注意事项: 设置NewSize、MaxNewSize相等,"new"的大小最好不要大于"old" 的一半,原因是old区如果不够大会频繁的触发主GC,大大降低了性能。 因为对于操作系统,请求内存的系统调用会占用大量的cpu时间,所以频繁的请求、释放内存将会导致性能的严重下降。

    4.8K21发布于 2019-08-15
  • 来自专栏Elixir

    GC 性能

    什么是? 根据需求进行JVM规划和预 优化运行JVM运行环境(慢,卡顿) 解决JVM运行过程中出现的各种问题(OOM) ,从规划开始 ,从业务场景开始,没有业务场景的都是耍流氓 无监控(压力测试 案例2:12306遭遇春节大规模抢票应该如何支撑? 扩容或,让它达到 用压测来确定 优化环境 有一个50万PV的资料类网站(从磁盘提取文档到内存)原服务器32位,1.5G 的堆,用户反馈网站比较缓慢,因此公司决定升级,新的服务器为64位,16G 的堆内存 PS -> PN + CMS 或者 G1 系统CPU经常100%,如何

    1.7K10编辑于 2022-11-05
  • 来自专栏大数据-BigData

    Alluxio性能

    本文档介绍了各种 Alluxio 性能的技巧和配置。 常见性能问题 以下是在调整性能时用于解决常见问题的清单: 所有节点都在工作吗? 检查 Alluxio 集群是否健康。 Master Journal性能 Property Default Description alluxio.master.journal.flush.batch.time 5ms Time to worker 块读取线程池大小 alluxio.worker.network.block.reader.threads.max 属性配置用于处理块读取请求的最大线程数。 作业服务 工作服务能力 作业服务限制当前运行的作业总数以控制其资源使用。 请注意,单个 CLI 命令(例如 distributedLoad)可以触发创建多个作业,每个文件一个。 客户端 被动缓存 被动缓存会导致 Alluxio worker 缓存另一个已缓存在单独 worker 上的数据副本。

    2.3K40编辑于 2023-04-03
  • 来自专栏电光石火

    SQL 性能

    我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享! (2)WHERE子句中的连接顺序 ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE 记住, 索引只能告诉你什么存在于表中, 而不能告诉你什么不存在于表中. (2) ‘ | |'是字符连接函数. 就象其他函数那样, 停用了索引. (3) ‘+'是数学函数. 性能上的差异,关键看你的from和where子句。比如说如果你的where条件中可以通过索引,那显然 select 1 from ... 的性能比 select * from ... 好。 仔细检查order by语句以找出非索引项或者表达式,它们会降低性能

    3.7K60发布于 2018-01-18
  • 来自专栏全栈开发日记

    MySQL性能

    后端程序员在面试中,经常会被问到SQL的操作,于是我也是去补习了一下这方面的知识,感谢各方大佬提供的点子,这里总结如下。 总结几点常见的误区: 1- count(1)和count(primary_key)并不优于count(*); 2- count(*)和count(column)是不一样的。 3- 通常来说,把可以为NULL的列改为NOT NULL不会对性能提升有多少帮助,只是如果计划在列上创建索引,就应该将该列设置为NOT NULL。 因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。当然这对于INT这类型字段属性来讲就画蛇添足了。

    1.1K10编辑于 2022-05-12
  • 来自专栏闵开慧

    hadoop性能

    从三个方面着手优化 : 1. hadoop配置 2. 设计mapred/job 3. 代码级别. 4. 如果以首字对4求余分区, 则 "1亿个以3开头" 和 "1亿个以7开头"将落在同一分区.若hadoop群集只支持同时2个map任务, 则... (2). (2). 启动8个线程(注意, 此处是8个), 每个线程循环处理, 每次循环处理100万个. 通常我个人选择方案(2).因为 : (1). 最大限度利用了CPU. (2). 判定是否存在前一个有效数据 //2. 如果不存在前一个有效数据, 则continue; //3. 尽量使key的WritableComparable性能最佳, 尽量使value的Writable性能最佳. 比如使用掩码操作. 十七. 尽早丢弃无关对象.

    1K90发布于 2018-03-30
  • 来自专栏Linyb极客之路

    性能思路

    步骤:衡量系统现状、设定调目标、寻找性能瓶颈、性能、衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈)、性能结束。 JVM 最关键参数为:-Xms -Xmx -Xmn -XX:SurvivorRatio -XX:MaxTenuringThreshold 代大小调 避免新生代大小设置过小、避免新生代大小设置过大 方案:增加Thread.sleep,以释放CPU 的执行权,降低CPU 的消耗。以损失单次执行性能为代价的,但由于其降低了CPU 的消耗,对于多线程的应用而言,反而提高了总体的平均性能方案:将线程数降低 这种过后有可能会造成CPU us过高,所以合理设置线程数非常关键。 总结 好的策略是收益比(后提升的效果/改动所需付出的代价)最高的,通常来说简单的系统比较好做,因此尽量保持单机上应用的纯粹性, 这是大型系统的基本架构原则。

    1.2K60发布于 2019-08-19
  • 来自专栏猿人谷

    Java性能

    1个核,会对年轻代选择并行算法,关于选择细节请参考JVM文档。   A:因为年轻代的内存无法被回收,越来越多地被Copy到年老代 三、性能  除了上述内存泄漏外,我们还发现CPU长期不足3%,系统吞吐量不够,针对8core×16G、64bit的Linux服务器来说 3.JVM参数     在JVM启动参数中,可以设置跟内存、垃圾回收相关的一些参数设置,默认情况不做任何设置JVM会工作的很好,但对一些配置很好的Server和具体的应用必须仔细才能获得最佳性能。 这个我问题毫无疑问是没有答案的,否则也就不会有。 4.程序算法:本次不作为重点 参考资料

    1.6K110发布于 2018-01-17
  • 来自专栏JavaEdge

    Tomcat性能

    由于Web应用程序跑在Tomcat工作线程,因此Web应用对请求的处理时间也直接影响Tomcat性能,而Tomcat和Web应用在运行过程中所用到的资源都来自os,因此需要将服务端看作是一个整体来考虑 I/O指选择NIO、NIO.2还是APR 线程池指的是给Tomcat的线程池设置合适的参数,使得Tomcat能够又快又好地处理请求 I/O模型 I/O实际上是连接器类型的选择,一般情况下默认都是 OpenSSL本身用C语言实现,它还对TLS通信做了优化,所以性能比Java高。 NIO.2 若你的Tomcat跑在Windows,且HTTP请求的数据量较大,可考虑NIO.2。 线程池 跟I/O模型紧密相关的是线程池,线程池的就是设置合理的线程池参数。 很多时候是在找系统瓶颈 假如有个状况:系统响应比较慢,但CPU的用率不高,内存有所增加,通过分析Heap Dump发现大量请求堆积在线程池的队列中,请问这种情况下应该怎么办呢?

    1.1K11编辑于 2021-12-07
  • 来自专栏小道

    Spark性能

    > 本地测试 --> 性能 --> Troubshoting --> 数据倾斜解决 3、常规性能: 3.1、分配更多资源    性能和速度的提升在一定范围内和运算资源成正比 (1)分配哪些资源 sparkConf.set("spark.locality.wait","10") spark.locality.node spark.locality.wait.rack 4、JVM 大大延长了作业时长;   可以通过参数调节等待时长,从而避免文件拉取失败: --conf spark.core.connection.ack.wait.timeout = 300 ; 5、Shuffle 将会导致多次磁盘写操作,如果reduce端内存不够用,也可能会导致频繁的spill;   (3)查看Spark UI,如果每个task的shuffle write和shuffle read很大,则可以考虑进行相应 ,可以避免一些OOM、GC等内存相关的异常;   (4)SortShuffle可以通过开启Bypass机制限制排序机制,即当输出文件个数小于某个设定值时不会触发排序机制; 6、算子 6.1、使用mapPartitions

    1.5K20发布于 2021-04-13
领券