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

    SQL性能

    查询条件中操作符的权值 操作符 权值= 10 5 = 5 < 5 <= 5 LIKE 3 <> 0 表 2. 针对专门操作符的 前面,讲的是关于查询条件的一般规则,在这一节中,将讨论如何使用专门的操作符来改进 SQL 代码的性能。 如果查询 2 总是比查询 1 执行的快的话,那么就可以建议总是将查询 1 转换成查询 2,但是有一种情况,这样做在一些数据库系统中可能会带来性能变差,这是由于两个优化缺陷所造成的。 以上是作者对如何提高 SQL 性能的一些总结,这些规则并一定在所有的数据库系统上都能带来性能的提高,但是它们一定不会对数据库性能带来下降,所以掌握并使用这些规则可以对数据库 应用程序的开发有所帮助。 本文总结的是一些 SQL 性能的比较初级的方面,SQL 还包括 Order by,Group by 以及 Index 等等。

    2.3K30发布于 2019-12-03
  • 来自专栏黄啊码【CSDN同名】

    10个MySQL性能的方法

    MYSQL 应该是最流行了 WEB 后端数据库。 但是 如果你使用 innodb_flush_log_at_trx_commit = 2 可以获得接近的读取性能 (相差百倍) 。 1 2 3 4 5 6 7 8 9 10 11 12 mysql> SHOW GLOBAL STATUS LIKE'innodb_buffer_pool_pages_%'; +------------ 所以,数据库刚刚启动,需要进行数据预热,将磁盘上的所有数据缓存到内存中。数据预热可以提高读取速度。 对于 InnoDB 数据库,可以用以下方法,进行数据预热: 1. 当然不用连接池 PHP 程序也可能将 连接数占满比如用了 @ignore_user_abort(TRUE); 使用 IP 而不是域名做数据库路径,避免 DNS 解析问题 以上就是10个MySQL性能的方法

    1.8K20发布于 2020-05-29
  • 来自专栏纯洁的微笑

    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 的性能中占到一小部分而已。 建议:如果作业可用的内存资源较为充足的话,可以适当增加这个参数的大小(比如96m),从而减少拉取数据的次数,也就可以减少网络传输的次数,进而提升性能。 ,建议参考后面的几个参数,通过 bypass 机制或优化的 HashShuffleManager 来避免排序操作,同时提供较好的磁盘读写性能

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

    Spark 性能之资源

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

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

    Spark 性能之开发

    Spark的性能实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。 笔者根据之前的Spark作业开发经验以及实践积累,总结出了一套Spark作业的性能优化方案。整套方案主要分为开发、资源、数据倾斜、shuffle几个部分。 开发和资源是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜,主要讲解了一套完整的用来解决Spark作业数据倾斜的解决方案;shuffle,面向的是对 本文作为Spark性能优化指南的基础篇,主要讲解开发。 2. 开发 2.1 概述 Spark性能优化的第一步,就是要在开发Spark作业的过程中注意和应用一些性能优化的基本原则。 但是Spark同时支持使用Kryo序列化库,Kryo序列化类库的性能比Java序列化类库的性能要高很多。官方介绍,Kryo序列化机制比Java序列化机制,性能10倍左右。

    1.3K31发布于 2019-08-07
  • 来自专栏个人积累

    数据库 项目

    Springboot项目 配置文件 更改Tomcat的相关配置 设置Tomcat的最大连接数 设置请求头最大内存 设置post请求的最大内存 设置Tomcat最大线程数 设置Tomcat 的最小工作线程数 JVM 设置项目启动的参数 在vm option处添加配置内容 -XX:MetaspaceSize=128m #(元空间默认大小) -XX:MaxMetaspaceSize=128m SpringBootApplication 和 @ComponentScan 两个注解来禁用组件自动扫描 使用@Configuration和@EnableAutoConfiguration代替 在需要使用到的实例上进行注入设置 数据库优化

    1K51发布于 2020-10-10
  • 来自专栏Linyb极客之路

    下单接口实战,性能提高10

    重新启动进程后,打开本地的(我用的是Window10) jvisualvm,添加JMX配置。配置成功后,可以点击线程那个tab,因为我们要做线程dump,观察线程的执行情况。 ? ? } 库存记录通常存在一张独立的库存表,由于创建订单的方法,是一个大事务,这样就会导致某条库存记录只有当整个createorder()方法执行完后,数据库行锁才会被释放,在这个期间,其他线程是无法对这条库存记录进行写操作的 因此我们可以在reduceSkuStock()中,再开一个事务,操作完这条库存记录后,赶紧释放锁,这样应该可以提高一些性能。 不过这种情况比较少,因为当时的下单接口中,大部分业务逻辑都在前面做好判断了,到达插入订单的代码时,就只是单独的insert了,除非数据库挂了,不然不会出现下单失败的情况。 在开发环境下,经过后,下单接口的TPS提升了3倍左右,当然由于开发环境的数据库和应用服务器都比较差,也会对TPS有影响的。当时优化完后,在生产上进行了压测,发现TPS提升了10倍。

    1.1K20发布于 2018-12-05
  • 来自专栏存储内核技术交流

    Glusterfs性能

    指定了接收和发送套接字缓冲区大小的最大值,对于小文件小文件请求处理时候效率比较高 net.core.rmem_max=67108864 net.core.wmem_max=67108864 //为自动定义每个 net.ipv4.tcp_rmem=33554432 net.ipv4.tcp_wmem=33554432 Gluster参数 读写性能参数优化 // 打开metadata-cache,打开这个选项可以提高在 mount端操作文件、目录元数据的性能,这个cache的是有一个过期时间,默认是10分钟,如下命令是打开客户端的元数据cache的命令 gluster volume set dht-vol group 这尤其会影响小文件的性能,其中大量文件被快速连续地添加/创建。 ,可以适当大,比如设置为128MB gluster volume set monitoring_vol performance.rda-cache-limit 60mb // 目录预读优化 gluster

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

    Spark性能01-资源

    理解作业基本原理,是我们进行资源参数的基本前提。 3. spark内存管理 (1) spark-1.5.x版本以前使用静态内存管理 ? Executor内存的大小,很多时候直接决定了Spark作业的性能,而且跟常见的JVM OOM异常,也有直接的关联。 参数建议: 每个Executor进程的内存设置4G~8G较为合适。 参数建议: Executor的CPU core数量设置为2~4个较为合适。 参数建议: Driver的内存通常来说不设置,或者设置1G左右应该就够了。 这个参数极为重要,如果不设置可能会直接影响你的Spark作业性能。 参数建议: Spark作业的默认task数量为500~1000个较为合适。

    1.5K20发布于 2018-09-13
  • 来自专栏Super 前端

    Tomcat性能

    提高Tomcat性能一般从三方面入手,JVM内存调整、禁用DNS查询、调整线程数。 一、JVM内存调整   -Xms<size> 表示JVM初始化堆的大小,-Xmx<size>表示JVM堆的最大值。 (Connector)进行性能控制的的参数是创建的处理请求的线程数。 ,默认值为 10 maxProcessors 最大连接线程数,即:并发处理的最大请求数,默认值为 75 acceptCount 允许的最大连接数,应大于等于 maxProcessors ,默认值为 100 注意事项: 设置NewSize、MaxNewSize相等,"new"的大小最好不要大于"old" 的一半,原因是old区如果不够大会频繁的触发主GC,大大降低了性能。 因为对于操作系统,请求内存的系统调用会占用大量的cpu时间,所以频繁的请求、释放内存将会导致性能的严重下降。

    4.8K21发布于 2019-08-15
  • 来自专栏技术向

    nextcloud性能

    默认的nextcloud是Apache web, 我们将其换为nginx,通过搭配nextcloud-fpm和nginx两个docker完成。

    9.6K30发布于 2019-11-20
  • 来自专栏Elixir

    GC 性能

    什么是? 根据需求进行JVM规划和预 优化运行JVM运行环境(慢,卡顿) 解决JVM运行过程中出现的各种问题(OOM) ,从规划开始 ,从业务场景开始,没有业务场景的都是耍流氓 无监控(压力测试 12306应该是中国并发量最大的秒杀网站: 号称并发量100W最高 CDN -> LVS -> NGINX -> 业务系统 -> 每台机器1W并发(10K问题) 100台机器 普通电商订单 -> 扩容或,让它达到 用压测来确定 优化环境 有一个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,以下为笔者学习、摘录、并汇总部分资料与大家分享! (7) 整合简单,无关联的数据库访问 如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系) (8) 删除重复记录 最高效的删除重复记录方法 ( (译者按: TRUNCATE只在删除全表适用,TRUNCATE是DDL不是DML) (10)尽量多使用COMMIT 只要有可能,在程序中尽量多使用COMMIT, 这样程序的性能得到提高,需求也会因为 性能上的差异,关键看你的from和where子句。比如说如果你的where条件中可以通过索引,那显然 select 1 from ... 的性能比 select * from ... 好。 仔细检查order by语句以找出非索引项或者表达式,它们会降低性能

    3.7K60发布于 2018-01-18
  • 来自专栏闵开慧

    hadoop性能

    比如, 处理10亿个数据, 每遇到一个有效数据时, 需要同前一个有效数据进行关联处理(或与前一个中间值进行关联处理), for(int i = 0; i < size; i++) { //1 尽量使key的WritableComparable性能最佳, 尽量使value的Writable性能最佳. 比如使用掩码操作. 十七. 尽早丢弃无关对象.

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

    性能思路

    步骤:衡量系统现状、设定调目标、寻找性能瓶颈、性能、衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈)、性能结束。 资源消耗 CPU、文件IO、网络IO、内存 外部处理系统的性能不足:所调用的其他系统提供的功能或数据库操作的响应速度不够。 方案:增加Thread.sleep,以释放CPU 的执行权,降低CPU 的消耗。以损失单次执行性能为代价的,但由于其降低了CPU 的消耗,对于多线程的应用而言,反而提高了总体的平均性能方案:将线程数降低 这种过后有可能会造成CPU us过高,所以合理设置线程数非常关键。 总结 好的策略是收益比(后提升的效果/改动所需付出的代价)最高的,通常来说简单的系统比较好做,因此尽量保持单机上应用的纯粹性, 这是大型系统的基本架构原则。

    1.2K60发布于 2019-08-19
  • 来自专栏JavaEdge

    Tomcat性能

    由于Web应用程序跑在Tomcat工作线程,因此Web应用对请求的处理时间也直接影响Tomcat性能,而Tomcat和Web应用在运行过程中所用到的资源都来自os,因此需要将服务端看作是一个整体来考虑 I/O指选择NIO、NIO.2还是APR 线程池指的是给Tomcat的线程池设置合适的参数,使得Tomcat能够又快又好地处理请求 I/O模型 I/O实际上是连接器类型的选择,一般情况下默认都是 线程池 跟I/O模型紧密相关的是线程池,线程池的就是设置合理的线程池参数。 假设一个单核服务器在接收请求: 如果每秒10个请求到达,平均处理一个请求需要1秒,那么服务器任何时候都有10个请求在处理,即需要10个线程 如果每秒10个请求到达,平均处理一个请求需要2秒,那么服务器在每个时刻都有 应该怀疑大量线程被阻塞了,应该看看web应用是不是在访问外部数据库或者外部服务遇到了延迟。

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

    Spark性能

    --> 需求分析 --> 技术方案设计 --> 数据库设计 --> 编码实现 --> 单元测试 --> 本地测试 --> 性能 --> Troubshoting --> 数据倾斜解决 3、常规性能 ") spark.locality.node spark.locality.wait.rack 4、JVM: 4.1、调节Cache操作的内存占比   (1)JVM内存不足会导致 大大延长了作业时长;   可以通过参数调节等待时长,从而避免文件拉取失败: --conf spark.core.connection.ack.wait.timeout = 300 ; 5、Shuffle 将会导致多次磁盘写操作,如果reduce端内存不够用,也可能会导致频繁的spill;   (3)查看Spark UI,如果每个task的shuffle write和shuffle read很大,则可以考虑进行相应 6.4、使用foreachPartition优化写数据库性能   foreach对于每条数据都会建立和销毁数据库链接,并发送和执行多次SQL,对于性能消耗较大,在实际开发中,可以使用foreachPartion

    1.5K20发布于 2021-04-13
  • 来自专栏开源部署

    Nginx 性能

    原文地址:http://nginx.com/blog/tuning-nginx/ Tuning NGINX for Performance Nginx 性能 NGINX is well known 一个很好的原则是时每次只修改一个配置,如果对配置的修改不能提高性能的话,改回默认值。 我们将从Linux开始因为有些值会影响到你Nginx时用到的一些配置参数。 如果你高速率的接入并且你的性能配置不均衡,例如一些连接出现延时的情况,那么下面的配置将起到作用。 还有一些不是非要放到这个标题下的Nginx功能能够提高一个网站应用的性能,但是依然要提一下因为他们的影响是值得注意的。我们讨论这其中的两个功能。

    73620编辑于 2022-07-03
领券