Эта команда получает некоторые данные из MySQL и затем манипулирует им. Почему «реальное» время намного выше, чем «пользовательское» время?Неверный вывод из времени
>time ./command.rb
real 45m45.457s
user 3m36.478s
sys 0m28.226s
Для разъяснения - Я понимаю разницу между реальным, пользовательским и sys-выходом. Однако я смущен тем, почему существует такая большая разница. Машина, на которой я запускаю эту операцию, практически ничего не использует CPU, и у меня нет нити в моей команде. Все, что он делает, это выборка данных. Может ли быть причиной такого пробела сложный оператор MySQL?
Таким образом, сетевой трафик может стать причиной этого? Если запрос занимает 200 мс от конца до конца, любая идея, какая часть может быть ЦП? – Justin
Сетевой трафик не очень интенсивен. Если вы используете интерфейс loopback (например, чтобы поговорить с SQL-сервером на локальном хосте), это скорее всего будет связано с большим количеством CPU, чем с привязкой ввода/вывода, но в противном случае использование ЦП, связанное с сетевым соединением, вероятно, будет минимален. Кроме того, вы измеряете только использование ЦП вашего сценария. Сервер SQL будет использовать некоторое время процессора (и диск ввода-вывода), пытаясь ответить на ваш запрос, и вы не видите этого в своих измерениях. –