-
Notifications
You must be signed in to change notification settings - Fork 21
Home
Welcome to the perf-tools wiki!
- Vision
- From Top-down Microarchitecture Analysis to Structured Performance Optimizations. Ahmad Yasin, NANDA Workshop, Sep. 2023, DOI: 10.52843. recording
- Towards Structured SW Tuning - Ahmad Yasin, May 2022
Quick install with Ontime dataset.
Start server on 8-cores: cd /path/to/ClickHouse/data && numactl -C 4-11 ./clickhouse server -C lz4_config.xml &
Start clients: cd /path/to/ClickHouse/data && numactl -C 64-80 clients.sh
where clients.sh
spawns 16-processes where each execute the following query say 10 times.
./clickhouse client --port=9000 --multiquery "SELECT avg(c1) FROM ( SELECT Year, Month, count(*) AS c1 FROM ontime GROUP BY Year, Month );SELECT DayOfWeek, count(*) AS c FROM ontime WHERE Year>=2000 AND Year<=2008 GROUP BY DayOfWeek ORDER BY c DESC;SELECT DayOfWeek, count(*) AS c FROM ontime WHERE DepDelay>10 AND Year>=2000 AND Year<=2008 GROUP BY DayOfWeek ORDER BY c DESC;SELECT Origin, count(*) AS c FROM ontime WHERE DepDelay>10 AND Year>=2000 AND Year<=2008 GROUP BY Origin ORDER BY c DESC LIMIT 10;SELECT IATA_CODE_Reporting_Airline AS Carrier, count(*) FROM ontime WHERE DepDelay>10 AND Year=2007 GROUP BY Carrier ORDER BY count(*) DESC;SELECT IATA_CODE_Reporting_Airline AS Carrier, avg(DepDelay>10)*100 AS c3 FROM ontime WHERE Year=2007 GROUP BY Carrier ORDER BY c3 DESC;SELECT IATA_CODE_Reporting_Airline AS Carrier, avg(DepDelay>10)*100 AS c3 FROM ontime WHERE Year>=2000 AND Year<=2008 GROUP BY Carrier ORDER BY c3 DESC;SELECT Year, avg(DepDelay>10)*100 FROM ontime GROUP BY Year ORDER BY Year;SELECT DestCityName, uniqExact(OriginCityName) AS u FROM ontime WHERE Year >= 2000 and Year <= 2010 GROUP BY DestCityName ORDER BY u DESC LIMIT 10;SELECT Year, count(*) AS c1 FROM ontime GROUP BY Year;SELECT min(Year), max(Year), IATA_CODE_Reporting_Airline AS Carrier, count(*) AS cnt, sum(ArrDelayMinutes>30) AS flights_delayed, round(sum(ArrDelayMinutes>30)/count(*),2) AS rate FROM ontime WHERE DayOfWeek NOT IN (6,7) AND OriginState NOT IN ('AK', 'HI', 'PR', 'VI') AND DestState NOT IN ('AK', 'HI', 'PR', 'VI') AND FlightDate < '2010-01-01' GROUP by Carrier HAVING cnt>100000 and max(Year)>1990 ORDER by rate DESC LIMIT 1000;"
Performance is measured by average execution time of above query.
Stop server: killall clickhouse
Multicore Performance Scalability via VTune (whitepaper)
Performance Analysis and Tuning on Modern CPUs (book by Denis Bakhvalov)
For hyperlinked files, right-click the link and save the file with the name as it appears in the hyperlink.