У нас есть игра для Facebook, в которой все постоянные данные хранятся в базе данных MySQL, работающей на большом экземпляре Amazon RDS. Размер одной из наших таблиц составляет 2 ГБ. Если я выполняю какие-либо запросы к этой таблице, которые занимают более пары секунд, любые действия SQL, выполняемые нашей игрой, завершатся с ошибкой:
HTTP/1.1 503 Служба недоступна: внутренний сервер перегружен
Это явно подрывает нашу игру!
Я отслеживал загрузку ЦП в экземпляре RDS в эти периоды, и, несмотря на скачки, она не превышала 50%. Раньше у нас был меньший размер инстанса, и он достиг 100%, поэтому я надеялся, что проблема будет решена, если увеличить мощность ЦП. Теперь я думаю, что это проблема с количеством открытых соединений. Однако я работаю с SQL всего 8 месяцев или около того, поэтому я не эксперт по настройке MySQL.
Возможно, есть какой-то параметр конфигурации, который я могу изменить, чтобы эти запросы не перегружали сервер, или мне просто не следует запускать их, пока наша игра запущена?
Я использую MySQL Workbench для выполнения запросов.
Любая помощь будет очень признательна - Спасибо!
РЕДАКТИРОВАТЬ:
Вот пример....
SELECT *
FROM BlueBoxEngineDB.Transfer
WHERE Amount = 1000
AND FromUserId = 4
AND Status='Complete';
Таблица выглядит так:
TransferId Started Status Expires FromUserId ToUserId CurrencyId Amount SessionId
1177 2012-06-04 21:43:18 Added 150001 2 4 1 12156
1179 2012-06-04 21:48:50 ISF 150001 2 4 1 12156
1181 2012-06-04 22:08:33 Added 150001 2 4 25 12156
1183 2012-06-04 22:08:41 Complete 150001 2 4 50 12156
1185 2012-06-04 22:08:46 Added 150001 2 4 200 12156
EXPLAIN
этого запроса и структуру таблицы. Запросы, исходящие от игры, записываются в таблицу, на которой вы выполняете запрос? Если да, то проблема может быть в замке. - person G-Nugget   schedule 30.11.2012SELECT *
.. первого номера. Вам действительно нужны все столбцы? - person Kieren Johnstone   schedule 30.11.2012EXPLAIN
этого запроса и структуру таблицы? - person G-Nugget   schedule 30.11.2012SHOW CREATE TABLE BlueBoxEngineDB
и опубликуйте результаты. - person Mike Brant   schedule 30.11.2012EXPLAIN
, как получить выполнение простой. - person Leigh   schedule 30.11.2012