Webui edit action extremelly slow


#1

Hi!
This is an example dump of the server log when going to edit a node:

merb : worker (port 4040) ~ Started request handling: Wed May 12 11:33:29
+0200 2010
merb : worker (port 4040) ~ Routed to: {“format”=>nil, “action”=>“edit”,
“id”=>“IMFW0003.imim.es”, “controller”=>“chef_server_webui/nodes”}
merb : worker (port 4040) ~ Params: {“format”=>nil, “action”=>“edit”,
“id”=>“IMFW0003.imim.es”, “controller”=>“chef_server_webui/nodes”}

… then there’s about 670 lines (95 requests in total) of requests like
these:

merb : worker (port 4000) ~ Started request handling: Wed May 12 11:33:29
+0200 2010
merb : worker (port 4000) ~ Routed to: {“format”=>nil, “action”=>“show”,
“id”=>“activemq”, “controller”=>“chef_server_api/cookbooks”}
merb : worker (port 4000) ~ Params: {“format”=>nil, “action”=>“show”,
“id”=>“activemq”, “controller”=>“chef_server_api/cookbooks”}
[Wed, 12 May 2010 11:33:29 +0200] INFO: Authenticating client chef-webui
merb : worker (port 4000) ~ {:dispatch_time=>0.190167,
:after_filters_time=>1.4e-05, :action_time=>0.189637,
:before_filters_time=>0.006441}
merb : worker (port 4000) ~

And at the end:

merb : worker (port 4040) ~ {:before_filters_time=>0.0517,
:dispatch_time=>14.174253, :after_filters_time=>1.7e-05, *
:action_time=>14.173608*}
merb : worker (port 4040) ~

it’s not the end of the work, but it gets pretty slow when you have to
change something on a few nodes, 14 seconds per node is a bit heavy, plus
the 97 extra queries looks a bit overkill and at least in my mind, something
that could be optimized.

Is there something wrong, or is expected? Should I open a ticked? Apologies
beforehand if you already know this, I just updated my installation of chef
today and I found it weird that this was still working like this.

Thanks!

{ :name => “Albert Llop” }


#2

There’s an open ticket about this: http://tickets.opscode.com/browse/CHEF-861

It certainly appears the webui is doing a bunch of unnecessary work
loading all the cookbooks.

Dan

On Wed, May 12, 2010 at 2:41 AM, Albert Llop mrsimo@gmail.com wrote:

Hi!
This is an example dump of the server log when going to edit a node:

merb : worker (port 4040) ~ Started request handling: Wed May 12 11:33:29
+0200 2010
merb : worker (port 4040) ~ Routed to: {“format”=>nil, “action”=>“edit”,
“id”=>“IMFW0003.imim.es”, “controller”=>“chef_server_webui/nodes”}
merb : worker (port 4040) ~ Params: {“format”=>nil, “action”=>“edit”,
“id”=>“IMFW0003.imim.es”, “controller”=>“chef_server_webui/nodes”}

… then there’s about 670 lines (95 requests in total) of requests like
these:

merb : worker (port 4000) ~ Started request handling: Wed May 12 11:33:29
+0200 2010
merb : worker (port 4000) ~ Routed to: {“format”=>nil, “action”=>“show”,
“id”=>“activemq”, “controller”=>“chef_server_api/cookbooks”}
merb : worker (port 4000) ~ Params: {“format”=>nil, “action”=>“show”,
“id”=>“activemq”, “controller”=>“chef_server_api/cookbooks”}
[Wed, 12 May 2010 11:33:29 +0200] INFO: Authenticating client chef-webui
merb : worker (port 4000) ~ {:dispatch_time=>0.190167,
:after_filters_time=>1.4e-05, :action_time=>0.189637,
:before_filters_time=>0.006441}
merb : worker (port 4000) ~

And at the end:

merb : worker (port 4040) ~ {:before_filters_time=>0.0517,
:dispatch_time=>14.174253, :after_filters_time=>1.7e-05,
:action_time=>14.173608}
merb : worker (port 4040) ~

it’s not the end of the work, but it gets pretty slow when you have to
change something on a few nodes, 14 seconds per node is a bit heavy, plus
the 97 extra queries looks a bit overkill and at least in my mind, something
that could be optimized.

Is there something wrong, or is expected? Should I open a ticked? Apologies
beforehand if you already know this, I just updated my installation of chef
today and I found it weird that this was still working like this.

Thanks!

{ :name => “Albert Llop” }


#3

Aw, sorry then. Lost myself in the ticker tracker and thought there wasn’t
anything about it.

Will wait for the fix then :slight_smile:

Thanks!

{ :name => “Albert Llop” }

On 12 May 2010 17:47, Daniel DeLeo dan@kallistec.com wrote:

There’s an open ticket about this:
http://tickets.opscode.com/browse/CHEF-861

It certainly appears the webui is doing a bunch of unnecessary work
loading all the cookbooks.

Dan

On Wed, May 12, 2010 at 2:41 AM, Albert Llop mrsimo@gmail.com wrote:

Hi!
This is an example dump of the server log when going to edit a node:

merb : worker (port 4040) ~ Started request handling: Wed May 12 11:33:29
+0200 2010
merb : worker (port 4040) ~ Routed to: {“format”=>nil, “action”=>“edit”,
“id”=>“IMFW0003.imim.es”, “controller”=>“chef_server_webui/nodes”}
merb : worker (port 4040) ~ Params: {“format”=>nil, “action”=>“edit”,
“id”=>“IMFW0003.imim.es”, “controller”=>“chef_server_webui/nodes”}

… then there’s about 670 lines (95 requests in total) of requests like
these:

merb : worker (port 4000) ~ Started request handling: Wed May 12 11:33:29
+0200 2010
merb : worker (port 4000) ~ Routed to: {“format”=>nil, “action”=>“show”,
“id”=>“activemq”, “controller”=>“chef_server_api/cookbooks”}
merb : worker (port 4000) ~ Params: {“format”=>nil, “action”=>“show”,
“id”=>“activemq”, “controller”=>“chef_server_api/cookbooks”}
[Wed, 12 May 2010 11:33:29 +0200] INFO: Authenticating client chef-webui
merb : worker (port 4000) ~ {:dispatch_time=>0.190167,
:after_filters_time=>1.4e-05, :action_time=>0.189637,
:before_filters_time=>0.006441}
merb : worker (port 4000) ~

And at the end:

merb : worker (port 4040) ~ {:before_filters_time=>0.0517,
:dispatch_time=>14.174253, :after_filters_time=>1.7e-05,
:action_time=>14.173608}
merb : worker (port 4040) ~

it’s not the end of the work, but it gets pretty slow when you have to
change something on a few nodes, 14 seconds per node is a bit heavy, plus
the 97 extra queries looks a bit overkill and at least in my mind,
something
that could be optimized.

Is there something wrong, or is expected? Should I open a ticked?
Apologies
beforehand if you already know this, I just updated my installation of
chef
today and I found it weird that this was still working like this.

Thanks!

{ :name => “Albert Llop” }


#4

Okay, I looked at the source, and it is getting the list of all
available recipes from the api server. It needs to do this to have the
data for the drag and drop run list editor. We’re making some big
changes in the way cookbooks are uploaded and downloaded in Chef 0.9,
it should be possible to do this much more efficiently then.

HTH,
Dan DeLeo

On Wed, May 12, 2010 at 8:52 AM, Albert Llop mrsimo@gmail.com wrote:

Aw, sorry then. Lost myself in the ticker tracker and thought there wasn’t
anything about it.

Will wait for the fix then :slight_smile:

Thanks!

{ :name => “Albert Llop” }

On 12 May 2010 17:47, Daniel DeLeo dan@kallistec.com wrote:

There’s an open ticket about this:
http://tickets.opscode.com/browse/CHEF-861

It certainly appears the webui is doing a bunch of unnecessary work
loading all the cookbooks.

Dan

On Wed, May 12, 2010 at 2:41 AM, Albert Llop mrsimo@gmail.com wrote:

Hi!
This is an example dump of the server log when going to edit a node:

merb : worker (port 4040) ~ Started request handling: Wed May 12
11:33:29
+0200 2010
merb : worker (port 4040) ~ Routed to: {“format”=>nil, “action”=>“edit”,
“id”=>“IMFW0003.imim.es”, “controller”=>“chef_server_webui/nodes”}
merb : worker (port 4040) ~ Params: {“format”=>nil, “action”=>“edit”,
“id”=>“IMFW0003.imim.es”, “controller”=>“chef_server_webui/nodes”}

… then there’s about 670 lines (95 requests in total) of requests like
these:

merb : worker (port 4000) ~ Started request handling: Wed May 12
11:33:29
+0200 2010
merb : worker (port 4000) ~ Routed to: {“format”=>nil, “action”=>“show”,
“id”=>“activemq”, “controller”=>“chef_server_api/cookbooks”}
merb : worker (port 4000) ~ Params: {“format”=>nil, “action”=>“show”,
“id”=>“activemq”, “controller”=>“chef_server_api/cookbooks”}
[Wed, 12 May 2010 11:33:29 +0200] INFO: Authenticating client chef-webui
merb : worker (port 4000) ~ {:dispatch_time=>0.190167,
:after_filters_time=>1.4e-05, :action_time=>0.189637,
:before_filters_time=>0.006441}
merb : worker (port 4000) ~

And at the end:

merb : worker (port 4040) ~ {:before_filters_time=>0.0517,
:dispatch_time=>14.174253, :after_filters_time=>1.7e-05,
:action_time=>14.173608}
merb : worker (port 4040) ~

it’s not the end of the work, but it gets pretty slow when you have to
change something on a few nodes, 14 seconds per node is a bit heavy,
plus
the 97 extra queries looks a bit overkill and at least in my mind,
something
that could be optimized.

Is there something wrong, or is expected? Should I open a ticked?
Apologies
beforehand if you already know this, I just updated my installation of
chef
today and I found it weird that this was still working like this.

Thanks!

{ :name => “Albert Llop” }