Overview
This post details the preparations made for participating in ISUcon.
Goals and Objectives
- Goals
- Use the full duration of the ISUcon preliminaries for tuning.
- While winning is the goal, as a first-time participant, a realistic target was set.
- Use the full duration of the ISUcon preliminaries for tuning.
- Objectives
- Enhance knowledge around infrastructure.
- Improve understanding of building applications with performance considerations.
- Aim to contribute to performance tuning tasks within the company (work hard).
Recruited Members
Invited a colleague from the company to form a two-person team.
Reviewed Performance Tuning Procedures
Preparation
- Checked regulations
- Set up the environment
- Configured SSH
- Took backups
- Built automated deployment
- Simple scripts
- Execute deployment tasks via SSH connection, restart middleware, etc.
- Simple scripts
- Implemented monitoring tools
- netdata
- Implemented profiling tools
- alp
- Access log profiler
- https://github.com/tkuchiki/alp
- php
- xhprof
- alp
- Benchmarking
Configuration Check
- Process check
- Stop unnecessary ones
- Hardware resources
- top
- Database
- MySQL
- Check data size
- Verify size and row count per table
- Check data size
- MySQL
mysql> use database;
mysql> SELECT table_name, engine, table_rows, avg_row_length, floor((data_length+index_length)/1024/1024) as allMB, floor((data_length)/1024/1024) as dMB, floor((index_length)/1024/1024) as iMB FROM information_schema.tables WHERE table_schema=database() ORDER BY (data_length+index_length) DESC;
- Application
- Identify URLs
- Code reading
Tuning
- Measure performance → Analyze → Tune → Measure
- Determine if it's CPU, IO, application, or DB
Impressions
Participating for the first time was a humbling experience. Despite the lack of practice, basic skills were lacking, so I aim to prepare and improve to compete properly next year. It was a valuable opportunity to reassess my challenges and significantly influence my future motivation. I am grateful to the organizers for such an incredible event, especially since it's free.
Reference Repository
Reference Links
- ISUcon Official Site
- Presentation Materials on "Tips for Improving Web Application Performance"
- Practical Tips for Improving Web Application Performance
- ISUCON7 Preliminary Preparation for Beginners
- ISUCON Winning Strategy Video Notes
- Steps to Build ISUCON7 (Preliminary) Environment on ConoHa
- YAPC::Asia Tokyo 2015 "ISUCON Winning Strategy" Notes
Notes for Completing ISUCON Preliminaries Without Tears Next Year (1)