2014-10-04 4 views
1

Когда я DO- $ time curl 'http://localhost:3000'
я получаю это: 0.00s user 0.00s system 0% cpu 1.270 total
Gem «стойку мини-профайлер» также показывают время, затрачиваемое почти такой же, как локон.Rails показывает неправильное время, проведенное в запросе

Но в рельсах лаг, я See-
Completed 200 OK in 103ms (Views: 72.7ms | ActiveRecord: 5.0ms)

Почему существует разница во времени примерно 1 секунду?

Сверлильные и рельсовые серверы работают на моей машине разработки.

ответ

0

«time curl» - это время, в течение которого клиент curl берет для получения Rails-контента, то есть это время клиента.

В журнале Rails отображается время сервера.

+0

Я заглянул в него, gem «rack-mini-profiler» также показал время, которое было почти таким же, как и локон. –

+0

Что-то неправильно с рельсами, я думаю. –

+0

Не знаете, почему. Возможно, другое промежуточное ПО Rack будет вставлено после выхода журнала, т. Е. Стороннего драгоценного камня. Мини-профилировщик может помочь диагностировать его. – mahemoff

0

Вы не указали это, но если вы используете режим разработки, есть перезагрузка классов и компиляция активов, что сильно влияет на время отклика. Но это не влияет на производство.

Вот что я получил в моих рельсах 4.2 приложения (первый завиток, чем соответствующие выдержки из журнала):

curl 'http://localhost:3000' 0.01s user 0.00s system 0% cpu 1.817 total 
curl 'http://localhost:3000' 0.01s user 0.00s system 2% cpu 0.366 total 


Completed 200 OK in 1254ms (Views: 1206.2ms | ActiveRecord: 13.9ms) 
127.0.0.1 - - [04/Oct/2014:19:48:52 +0200] "GET/HTTP/1.1" 200 - 1.6863 

Completed 200 OK in 279ms (Views: 278.7ms | ActiveRecord: 0.0ms) 
127.0.0.1 - - [04/Oct/2014:19:49:41 +0200] "GET/HTTP/1.1" 200 - 0.2895 

В то время как в производстве:

curl 'http://localhost:3000' 0.01s user 0.00s system 3% cpu 0.329 total 
curl 'http://localhost:3000' 0.00s user 0.01s system 11% cpu 0.090 total 

I, [2014-10-04T19:54:02.739988 #27830] INFO -- : Completed 200 OK in 143ms (Views: 123.0ms | ActiveRecord: 6.3ms) 
I, [2014-10-04T19:54:17.521175 #27830] INFO -- : Completed 200 OK in 41ms (Views: 40.9ms | ActiveRecord: 0.0ms) 

Так различия сохраняются, но это вероятно, из-за времени отправки запроса от завитка к серверу, а затем для получения ответа. Я все еще думаю, что большие различия в развитии вызваны перезагрузкой и компиляцией.

+0

Не тратится ли время, проведенное в запросе rails log, на компиляцию активов и перезагрузку классов? –

+0

Это только моя догадка, но это не означает, что нужно пересчитать перезагрузку класса, чтобы запросить время. Я отредактировал свой ответ с большим пониманием. – katafrakt

Смежные вопросы