New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gh-ost not keeping up with binlog. Tuning tips? #751
Comments
Are you perhaps running |
Interesting. Thanks. Didn't think of that. Host is in the same VPC but not the same availability zone. Just did some rudimentary testing and it looks like simple queries from a host in the same AZ are a couple of ms faster. |
Closing as answered. Feel free to open a new issue with more testing/details |
Circling back on this. The problem was that we also had binlog replication setup to our Data Warehouse and that seemed to be causing some contention. Saw massive gh-ost performance improvement when we delayed binlog replication a bit by using these two settings:
Default is:
You do have to revert the settings before you try and cut over the migration though. Otherwise gh-ost will fail to sync the two tables. |
@jmilliron thanks for the feedback! I've actually never used Aurora so these settings are news to me. This lead me to wonder if these settings should be added to the recommendations for Aurora 🤔. Would they be useful for all use cases? And last random thought, you mentioned reverting these tunings; could gh-ost be automating the revert of the settings? |
Definitely think it could be noted. I can take a stab at that. For additional automation, the script would need AWS API access to make the changes to the parameter group since we're dealing with RDS/Aurora. |
Great thanks @jmilliron!
Hmm, that sounds ugly but possible. I was hoping they'd let you run |
I've got a pretty big table on AWS Aurora MySQL that I'm trying to alter. Writer instance is a db.r5.12xlarge. Seems fairly idle to me. CPU is low and the schema change is causing zero impact to query or DML latency. No increase in threads running.
However, during the day, it's falling behind on the binlog/changes to the table.
I've already got DML batch size turned up all the way and nice turned down all the way. There are no replicas via binlog replication, so lag doesn't matter. Getting nowhere near threads running. It's like 30 max.
Any tips for helping gh-ost keep up? Looks like I'm using version 1.0.47 from a Ubuntu package.
The text was updated successfully, but these errors were encountered: