[转]如何诊断Java代码中常见的数据库性能热点问题?
1. 写在前面 当我在帮助一些开发者或架构师分析及优化 Java 应用程序的性能时,关键往往不在于对个别方法进行微调,以节省一或两微秒的执行时间。虽然对某些软件来说,微秒级的优化确实非常重要,但我认为这并非着眼点所在。我在 2015 年间对数百个应用进行了分析,发现多数性能与可伸缩性问题都来源于糟糕的架构决策、框架的错误配置、错误的数据库访问模式、过量的日志记录,以及由于内存过度消耗而导致的垃圾回收所带来的影响。
Just One Pure ITer
1. 写在前面 当我在帮助一些开发者或架构师分析及优化 Java 应用程序的性能时,关键往往不在于对个别方法进行微调,以节省一或两微秒的执行时间。虽然对某些软件来说,微秒级的优化确实非常重要,但我认为这并非着眼点所在。我在 2015 年间对数百个应用进行了分析,发现多数性能与可伸缩性问题都来源于糟糕的架构决策、框架的错误配置、错误的数据库访问模式、过量的日志记录,以及由于内存过度消耗而导致的垃圾回收所带来的影响。
1. 一、背景 在当今互联网时代,企业大都采用分布式系统设计和微服务化,内部关系错综复杂,各产品分散,集成度不高。虽有众多日志监控工具,但没有全链路监控,定位问题及根因分析耗时长。同时由于缺乏决策并自动控制(自愈)机制,基本靠人工来排查处理,面对大规模高并发的场景时,对数据中心的性能、安全、稳定性影响缺乏量化,合理性规划时也很难兼顾性能与稳定性、可用性。 此前苏宁已有穆加服务端性能监控(以下简称 Baymax)、穆加调用链监控(以下简称 HIRO)等产品,但这仅仅是在“监”的层面上去主动发现系统出现的一些问题,而没有对解决这些问题做出“控”的动作。基于此,我们研发了穆加决策分析平台(以下简称 ZEUS),它将打通苏宁内部所有的监控渠道,真正意义上使得监控系统具备“控”的能力,通过与运维系统联动,达到系统问题自愈的效果,实现“监”与“控”完美结合。
by leelight · Published September 15, 2018 · Last modified September 16, 2018
港真,Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的 NullPointerException,为了避免猝不及防的空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种 if 判断,麻烦而又臃肿,为此 java8 引入了 Optional 来避免这一问题。 下面咱们要聊的是 MySQL 里的 null,在大量的 MySQL 优化文章和书籍里都提到了字段尽可能用NOT NULL,而不是NULL,除非特殊情况。但却都只给结论不说明原因,犹如鸡汤不给勺子一样,让不少初学者对这个结论半信半疑或者云里雾里。本文今天就详细的剖析下使用 Null 的原因,并给出一些不用 Null 的理由。
如果你正在在学习编程,那么我可以告诉你一个提高技能的好方法,那就是敢于去解决编码过程中遇到的难题。解决不同类型的难题,可以帮助你成为一名优秀的问题解决者;不管编程语言多复杂,你也会得心应手;另外在面试准备以及学习新算法等很多方面,都会让你变得越来越出色。 下面是一些非常受大众欢迎的编程难题网站列表,文章还对每个网站所提供的信息进行了一番简短的描述。
一个霾香浓郁的下午,老G约我来到望京的一家星巴克,一把鼻涕一把泪地向我哭诉了他和他的CTO之间那些不可告人的故事。 老G有家行业网站,靠卖广告盈利可观,无奈增速较慢。去年,他听说巨头们靠做AI挣了大钱,再回头瞧瞧跟自己黑手黑脚干起来的骨干,恨得牙根直痒痒:这帮人的能力和视野,限制了我公司的发展,耽误了我上市发财!于是,他四处寻觅,重金从BAT某家请来了一位CTO。
by leelight · Published September 15, 2018 · Last modified September 23, 2018
这几天在写索引,想到一些有意思的TIPS,希望大家有收获。 1. 一、一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from order where status!=0 and stauts!=1 not in/not exists都不是好习惯 可以优化为in查询: select * from order where status in(2,3) (2)前导模糊查询不能使用索引 select * from order where desc like ‘%XX’ 而非前导模糊查询则可以: select *...
又到周六了,鸿洋的不定期的周六放送又来了~~这次来谈谈性能优化吧。大家在工作中或多或少都会拿自家的应用和竞品app做比对,不可避免的需要做一些app性能优化的活。很多时候可能是策略上的调整,不过还是有非常多的通用的方式。 一般情况下,我们谈性能优化基本上会从以下几个方面: App启动速度优化 UI流畅度优化 内存优化 apk瘦身 电量优化
Confluent 联合创始人兼 CEO Jay Kreps 发表了一篇博文,给出了 Kafka 的真正定位——它不只是个消息系统,它还是个存储系统,而它的终极目标是要让流式处理成为现代企业的主流开发范式。
人工智能是当今的热议行业,深度学习是热门中的热门,浪尖上的浪潮,但对传统 IT 从业人员来说,人工智能技术到处都是模型、算法、矢量向量,太晦涩难懂了。所以本文作者写了这篇入门级科普文章,目标是让 IT 从业者能看清读懂深度学习技术的特点,希望读者能够从中受益,顺利找到自己心仪的工作。
Uber公司通过传播各类实时来源数据以实现更加无缝化且令人愉悦的用户体验。具体而言,Uber需要交付 UberEATS 订单的预估交付时间(简称 ETD)、结合即时交通条件得出的指导配送路线以及其间各项重要影响指标。来自Uber的几位优秀的工程师为我们带来这项技术的详细解析。
Follow:
| Cookie | Duration | Description |
|---|---|---|
| cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
| cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
| cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
| cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
| cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
| viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |