3

I thought about this 3 days already and asked in IRC but I wanna consult your expertise too. Basically it is about a High Traffic Site that uses Drupal (don't get me started, I have no choice in this matter). Drupal does some very not so smart things like a) storing cache in database and b) storing sessions in database. The first issue I solved with a module. The second issue I can't resolve because the session table is very weird and the only session proxy module author said it will break other modules because of Drupals session table/non standard incompatiblity(which it did so I can't use it anymore). The biggest issue is if binlogs are enabled then the session updates in the db table cause high IO and about 100mb/40sec of binlogs. I purged 200gb of binlogs in the last 2 days. The problem is that the session update queries are huge, right now its about 3,5k req/s and that causes 60mbit/s worth of sql queries from php to mysq, with Redis its 5mbit/s. The only option would be to disable binlogs. Furthermore the DB is going to be on a Galera Cluster soon anyway. 2 Questions

a) How to work with point in time restore without binlogs? Multiple hot live backups during the day?

b) I assume it is smart to seperate user account tables from the rest of the db and put them with binlogs because they certainly need point in time restore. But that would require a separate cluster?

Thanks for help in advance

ps: I can't use binlog-ignore-db because Galera ignore binlog filters! I'd have to put split off databases on separate instances, but not sure I want to run multiple mysql instances...

pdanjou
  • 65
  • 3
  • A different option would be to rewrite the modules that session_proxy breaks...Exploring that right now with a dev – pdanjou Feb 18 '16 at 09:21

0 Answers0