[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3183519.3183536acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
abstract

Java performance troubleshooting and optimization at alibaba

Published: 27 May 2018 Publication History

Abstract

Alibaba is moving toward one of the most efficient cloud infrastructures for global online shopping. On the 2017 Double 11 Global Shopping Festival, Alibaba's cloud platform achieved total sales of more than 25 billion dollars and supported peak volumes of 325,000 transactions and 256,000 payments per second. Most of the cloud-based e-commerce transactions were processed by hundreds of thousands of Java applications with above a billion lines of code. It is challenging to achieve comprehensive and efficient performance troubleshooting and optimization for large-scale online Java applications in production. We proposed new approaches to method profiling and code warmup for Java performance tuning. Our fine-grained, low-overhead method profiler improves the efficiency of Java performance troubleshooting. Moreover, our approach to ahead-of-time code warmup significantly reduces the runtime overheads of just-in-time compiler to address the bursty traffic. Our approaches have been implemented in Alibaba JDK (AJDK), a customized version of OpenJDK, and have been rolled out to Alibaba's cloud platform to support online critical business.

References

[1]
Edd Barrett, Carl Friedrich Bolz-Tereick, Rebecca Killick, Sarah Mount, and Laurence Tratt. 2017. Virtual machine warmup blows hot and cold. Proceedings of the ACM on Programming Languages 1 (OOPSLA) (2017), 52:1--52:27.
[2]
Peter Hofer, David Gnedt, and Hanspeter Mössenböck. 2015. Lightweight Java Profiling with Partial Safepoints and Incremental Stack Tracing. In Proceedings of ICPE. 75--86.
[3]
Todd Mytkowicz, Amer Diwan, Matthias Hauswirth, and Peter F. Sweeney. 2010. Evaluating the accuracy of Java profilers. In Proceedings of PLDI. 187--197.
[4]
Oracle. 2006. OpenJDK. (2006). http://openjdk.java.net
[5]
Oracle. 2011. HPROF: A Heap/CPU Profiling Tool. (2011). https://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html
[6]
Oracle. 2014. Java VisualVM. (2014). https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/profiler.html
[7]
Azul Systems. 2014. Solving the Java warm-up issue in low-latency systems. (2014). https://www.azul.com/products/zing/readynow-technology-for-zing/
[8]
Richard Warburton. 2011. Honest Profiler. (2011). https://github.com/jvm-profiling-tools/honest-profiler

Cited By

View all
  • (2023)DiagConfig: Configuration Diagnosis of Performance Violations in Configurable Software SystemsProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616300(566-578)Online publication date: 30-Nov-2023
  • (2021)HHVM jump-startProceedings of the 2021 IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO51591.2021.9370314(340-350)Online publication date: 27-Feb-2021
  • (2020)Log4Perf: suggesting and updating logging locations for web-based systems’ performance monitoringEmpirical Software Engineering10.1007/s10664-019-09748-z25:1(488-531)Online publication date: 1-Jan-2020

Index Terms

  1. Java performance troubleshooting and optimization at alibaba

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICSE-SEIP '18: Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice
    May 2018
    336 pages
    ISBN:9781450356596
    DOI:10.1145/3183519
    Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 27 May 2018

    Check for updates

    Author Tags

    1. Java performance
    2. code warmup
    3. method profiling
    4. overhead

    Qualifiers

    • Abstract

    Conference

    ICSE '18
    Sponsor:

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)9
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 19 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)DiagConfig: Configuration Diagnosis of Performance Violations in Configurable Software SystemsProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616300(566-578)Online publication date: 30-Nov-2023
    • (2021)HHVM jump-startProceedings of the 2021 IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO51591.2021.9370314(340-350)Online publication date: 27-Feb-2021
    • (2020)Log4Perf: suggesting and updating logging locations for web-based systems’ performance monitoringEmpirical Software Engineering10.1007/s10664-019-09748-z25:1(488-531)Online publication date: 1-Jan-2020

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media