用户导向时代体验为王,软件性能堪忧,用户体验低下,极易造成用户流失,如何正确高效... 展开 >
Kingsum 是阿里 AIS 的技术基础设施首席科学家。在 2016 年 5 月加入阿里巴巴之前,他是 Intel 软件和服务集团系统技术和优化部门的首席工程师和首席数据科学家。在 1996 年,Kingsum 在华盛顿大学获得了计算机科学与工程的博士学位。从那时起,他一直致力于软件应用程序的性能、建模和分析。在 2015 年 10 月的 Oracle OpenWorld 全球大会上,Intel 和 Oracle 的 CEO 宣布,由 Kingsum 领导的名为 Apollo 项目的联合云实验室获得成功。此外,Kingsum 在 JavaOne 主题演讲中也出场过 3 次。他已经发放了 20 余项专利,撰写了 80 多篇技术论文。他志愿指导了多个机器人团队,将学习 STEM 的乐趣带给当地的 K12 学生,并获得多项世界冠军大奖。
用户导向时代体验为王,软件性能堪忧,用户体验低下,极易造成用户流失,如何正确高效地分析性能问题并解决,成了越来越多的开发者所关注的问题。软件的响应时间、吞吐量、高并发下是否能够顺利运行在这里都能得到启发。
如今许多软件系统是可配置的,能够通过特征选择提供定制功能。了解不同的特征选择能够让性能产生的变化是选择满足一系列要求的合适配置的关键。由于配置空间巨大以及性能测量可能会有的高成本,通常来说不可能详尽地探索一个可配置系统的配置空间。因此,用测量的系统变量小样本来进行准确预测的难度很大。为了应对这一难题,我们提出了一种名为 DECART 的数据高效学习方法,它结合了几种机器学习和统计学技术,用于可配置系统的性能预测。 DECART 凭借一个可用的测量的系统变量样本来构建、验证和确定预测模型。对 10 个现实世界中的可配置系统的实证结果也证明了 DECART 的有效性和实用性。值得一提的是,DECART 仅凭一个有限特征数量的小样本就实现了 90% 或更高的预测精度。此外,我们提出了一个样本质量的指标,并为大家介绍了一个能用于性能预测的样本质量定量分析。
在线交易、电子商务和实时数据库等业务应用都需要高标准的服务,而不符合性能规格则可能会导致业务或责任违规。 因此,随着多核处理器的迅速发展,数据中心软件必须更有效地管理资源共享和争用。 然而,实现高并发性和高性能变得越来越难了。 在这个演讲中,我们将会讨论资源共享和争用的几个案例,分享我们的最佳已知方法,从而了解如何识别和优化性能瓶颈,以提供最高的并发性。
听众将学习一种系统的自上而下的方法,从而可以在复杂的环境中识别性能和可扩展性的问题,并找到问题的根本原因。 此外,听众将学习如何为数据中心软件开发优化的同步解决方案。
在分布式应,海量机器的背景下,写出高效的 WebServer 是巨大的技术挑战。nginx、memcached 等高效的服务器使用了高效的线程模型,通过异步编程结合少量线程来服务海量用户,获得了相比同步模型更高的性能,更快的响应时间,更低的机器成本。
主流的 Java Web 容器给了我们一个可以独占整个线程的编程环境,操作系统消耗大量计算资源在线程调度上。现有的 Java 程序业务复杂、框架众多,用异步改写需要巨大的代价。Alibaba JDK 使用协程作为异步 IO 的抽象机制,使得现有基于独占线程模型的代码透明的跑在事件驱动模型上,获得性能提升。
我将和大家分享事件驱动、异步、协程间的关系、实现原理;如何通过 JVM 改动零感知地让应用转换到异步模型。并结合阿里巴巴的海量电商、中间件应用场景分析异步的效果。
How is your talk relevant to the attendees? What you want them to learn and apply to their work?
Java 语言配合 Servlet 标准是目前大部分 Web 应用的运行环境,几乎所有服务端软件工程师都接触过。工程师们有必要知道他们的代码所在的运行环境,以及这套运行环境在线程模型上可以进行的改进。
这个 Talk 将帮助大家学到 WebServer 线程模型的相关知识,了解 Alibaba Jdk 的协程特性及相关场景。有助于帮助大家在工作中写出更高效的程序,并在系统设计中考虑线程模型开销和协程这样的语言特性。
在移动互联网时代,用户体验几乎直接决定了一个应用的成败,而其中最基本的用户体验就是用户操作的流畅性。关于这一点的论述很多,最为常用的策略就是把耗时操作放在后台线程里,但这种做法往往是以牺牲不必要的信息展现实时性作为代价的。
在本主题中,演讲者围绕着一个现实的移动应用案例,来论述如何将性能优化的方法论与手段合理地运用在一个前端要对十万量级数据进行实时动态查询的应用开发中,从而实现了用户操作流畅性和信息展现实时性的双重目的,最终保证了更为良好的用户体验。
提到数据中心应用的性能优化,一般而言,大众所熟知的性能优化方案和技巧大多实施于软件层面,如热点方法优化、代码路径优化、算法优化等。硬件通常给软件工程师的印象就是硬件的计算能力是固定的,软件的性能问题是软件造成,应该从软件层面解决,然而实际情况是硬件的很多特性对于软件的性能影响有很大的影响。
本分享和大家一起回顾一些硬件特性,如 Cache,SMT, Multi-core processor 等,并结合一些实际的例子来了解这些特性对于软件性能的影响。帮助性能优化工程师更全面地了解数据中心应用性能的影响因素,更好地优化数据中心应用的性能。
效能永远是客户在 Spark 落地实践中的其中一个关键。在客户端,时常会有买了最好的设备,却无法释放最好的效能的情况。本演讲利用几个典型的 Spark 应用场景包括 SQL 查询(TPCx-DS)、Kmeans(HiBench)、Terasort(HiBench)针对不同硬件(CPU,记忆体,存储设备)做效能分析,搭配相对应的软件调优,增进 Spark 应用的效能。此议题重点带来 Spark 应用的效能调优及参考架构,借由软件的优化,更好的提高硬件的效能。