2016-10-25 2 views
-1

У меня есть таблица заказов с 30000rows. Я использую Linode сервер с 2 Гб оперативной памятью504 Ошибка тайм-аута шлюза при выборе 300 000 строк из базы данных MySQL

но когда я выполнил мой запрос с использованием PHPMyAdmin он дал мне 504 Gatetimeout Ошибки

SELECT * FROM `orders` 

Я не понимаю, что это проблема? Я получаю эту ошибку вы можете увидеть изображение ниже

enter image description here

+0

Что я делаю, так это то, что я использую laravel, где для одного из моих отчетов я хочу получить все заказы с использованием elequent, но я получаю ошибку Gateway 504, тогда я хочу проанализировать эту проблему более подробно, но когда я ее выполнил необработанный запрос в phpmyadmin, он дает мне ошибку 504. теперь я явно смущен, почему это происходит. –

+0

Каков средний размер записей? Я попытался бы сделать запрос, который вернет, скажем, 1000 записей. 30000 записей не так много для разумного сервера. – FDavidov

+0

Есть нулевые случаи, когда вам может понадобиться все ваши 300 тысяч записей в вашем браузере - даже если вам как-то удастся загрузить их все, было бы невозможно просмотреть их сразу! поэтому то, что вам нужно сделать, это получить только некоторые из записей. – maxpovver

ответ

-1

504 Шлюз Timeout ошибка появляется в тех случаях, когда сервер, на котором размещается веб-сайт не может вернуться к заданному пределу времени HTTP-ответ.

В качестве решения, чтобы удовлетворить увеличение значения параметра PHP max_execution_time

+0

Изменение параметра max_execution_time в php.ini –

+0

Я уже пытаюсь увеличить его max_execution_time и установить его 480, но не работает –

+0

Возможно, max_execution_time установлен более 480. И перезагрузите сервер! –

-1

504 Gatetimeout является HTTP Error не ошибка базы данных. База данных занимает слишком много времени, чтобы собирать данные. Возможно, вам необходимо увеличить max_execution_time в вашем php.ini

+0

Я уже пытаюсь увеличить его max_execution_time и установить его 480, но не работает –

+0

, пожалуйста, напишите свой phpinfo() – SevenOfNine

0

Получите 30 тыс. Записей в одном - это не очень хорошая идея, в любом случае вам нужно проверить конфигурацию вашего сервера sql, 30 тыс. Записей недостаточно для получения по умолчанию. B/w, если вы просто изменяете тайм-аут на веб-сервере, это не влияет на вас, браузеры b/c имеют тайм-аут по умолчанию. Вероятно, mysqltuner поможет вам найти ошибку в конфигурации.