Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Software Development at Mercari #ioi2018

Software Development at Mercari #ioi2018

Programming for a competition and programming for work are similar.
In both cases, programming is about solving problems.

Yuichiro SAITO

September 07, 2018
Tweet

More Decks by Yuichiro SAITO

Other Decks in Programming

Transcript

  1. • Slides are uploaded on Speaker Deck (check the pinned

    post my Twitter @koemu_s) • Feel free to record and/or share this presentation on social media! • Have questions? ◦ Q&A time after presentation ◦ Visit us at the Mercari booth (in the hallway between the main entrance and Capio) ◦ Contact me at [email protected] 2 Before we begin
  2. 1. Identify Issue - Used monitoring software to confirm breakdown

    of latency of each process - Latency of access to the database was several times higher compared to other functions - Identified that the backend application was recursively retrieving product attributes 11
  3. 2. Solve Issue Incorporated a cache system when accessing the

    database - Saves product attributes to memory - Maintain memory space using Least Recently Used (LRU) algorithm 12 How memcached works. Image from: https://zenmachine.wordpress.com/2008/12/03/50/ More on the LRU algorithm: https://github.com/memcached/memcached/wiki/UserInternals
  4. 3. Measure Results - Significantly decreased access to database (shown

    in purple below) - Improved latency by 30%! 13 Released at 2:35 PM ↓
  5. We’re hiring! For further questions, visit us at the Mercari

    Booth. Link to slides pinned on Twitter (@koemu_s) 20