Rails / Ruby - Как проверить скорость загрузки и выгрузки пользователей? - PullRequest
2 голосов
/ 11 декабря 2011

Как можно проверить скорость загрузки и выгрузки пользователей в МБ / с?

1 Ответ

6 голосов
/ 11 декабря 2011

Чтобы загрузить время, вы можете сделать что-то вроде этого в вашем действии:

def download
  start_time = Time.now
  file_size = File.size('never_gonna_give_you_up.mp3') / 1024.0 / 1024.0
  send_file("never_gonna_give_you_up.mp3")
  logger.info("Download took #{Time.now - start_time}s at #{file_size / (Time.now - start_time)} MB/s")
 end

Для определения времени загрузки пользователя вы не сможете проверить, сколько времени потребовалось пользователю, чтобы загрузить что-либо строго в Ruby или Rails, поскольку запрос не обрабатывается до тех пор, пока пользователь не завершит загрузку. Что вы могли бы сделать - это заполнить поле javascript (например, upload_start_time) при отправке формы, а затем вычесть время в начале действия, например:

def upload
  upload_time = Time.parse(params[:upload_start_time]) - Time.now
  file_size = params[:file].size / 1024.0 / 1024.0 # assuming 'file' is the name of the field
  logger.info("Upload took #{upload_time} at #{file_size / upload_time} MB/s")
end

Это не будет точным, но должно дать вам хорошее приближение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...