Skip to content

Instantly share code, notes, and snippets.

@jonathanvx
jonathanvx / set_param.sh
Created October 12, 2017 19:21
RDS generic performance tuning
#!/bin/bash
cmd='aws rds modify-db-parameter-group --db-parameter-group-name mysql57-performance'
$cmd --parameters="ParameterName=tmp_table_size, ParameterValue=67108864, ApplyMethod=pending-reboot"
$cmd --parameters="ParameterName=max_heap_table_size, ParameterValue=67108864, ApplyMethod=pending-reboot"
#Max size a tmp table can be in memory
$cmd --parameters="ParameterName=join_buffer_size, ParameterValue=2097152, ApplyMethod=pending-reboot"
#Helps when a join doesn’t have an index or an index wont be more helpful than a full table scan
$cmd --parameters="ParameterName=sort_buffer_size, ParameterValue=2097152, ApplyMethod=pending-reboot"
#Helps with ORDER BY queries.
@jonathanvx
jonathanvx / test_timeout_filter.py
Created November 14, 2018 14:15
Filtering JSONs
import timeout_filter as tf
def test_timeout_filter():
#TODO: create fake data with expected results from timeout_filter
test_data_users = "{ }"
test_data_venues= "{ }"
print tf.filter_venues(test_data_users, test_data_venues)
#TODO: compare filter results with expected results
pt-query-digest mysql-slowquery.log --limit=25 > slow.txt
pt-query-digest mysql-slowquery.log --limit=8 --order-by=Lock_time:sum > locked.txt 2>/dev/null
pt-query-digest mysql-slowquery.log --filter '($event->{Rows_examined} > 0) && ($event->{Row_ratio} = $event->{Rows_sent} / ($event->{Rows_examined})) && 1' --limit=8 > select_ratio.txt
pt-query-digest mysql-slowquery.log --filter '($event->{fingerprint} =~ m/^(!?select)/) && ($event->{Rows_examined} > 0) && ($event->{fingerprint} !~ m/(information_schema|performance_schema|mysql)/)' --no-report --output=slowlog >select.log
pt-query-digest mysql-slowquery.log --filter '$event->{fingerprint} =~ m/table/' --no-report --output=slowlog >table.log
pt-query-digest table.log --limit=100% > table.txt