Mysql optimization advice

Firstly, I'd suggest that it's "unusual" to have android devices, "Out There" on the Wibbly-Wobbly Web, connecting directly to any database. it's far more usual (i.e. better practice) to have the client application talk to a web server which in turn talks to the database. There are many reasons for this, mostly revolving around the the [in]security of anything running "Out There" but also including scaling - web servers are built with "scaling out" (adding more capacity to handle more traffic) in mind. Databases are not.

Secondly, generally-speaking, databases servers do not slow down.
The queries that are run inside them do.

Start by looking to tune your Queries.

Then look to bolstering your architecture, adding a web server in the middle.
One thing that this will gain you is Connection Pooling - the web server can handle your 1800 incoming connections with only a few handfuls of database connections (and using database credentials that never leave your [safe] server environment).

Look to tune your database or server as a last resort, in the most extreme of cases.

  • A Database Engineer spends several days poring over server and database configuration settings.
    They might get 2-3 Percentage Points improvement.
  • A Developer spends several days designing proper database structures, indexing, etc.
    They might get 2-3 Orders of Magnitude improvement.