Slow searching for customer in new ticket

Infos:

  • Used Zammad version: 3.1
  • Used Zammad installation source: package
  • Operating system: Ubuntu 18.04.2
  • Browser + version: Chrome + Firefox

Expected behavior:

  • Quick response to customer name query when starting a ticket.

Actual behavior:

  • Very slow response ~10-15 seconds before it finishes searching, or trying to search for a customer.

Steps to reproduce the behavior:

  • New ticket. Start to type customer name in the customer name field.

Additional information:
20gb of ram allocated to the image.
Intel® Xeon® CPU E5-2609 v2 @ 2.50GHz
It never seems to go above ~30% on cpu loads though.

Is there anything I can do to improve these speeds?
Configuration of the database side, etc?
I’m quite glad to do a fresh install and migrate the data over if there is a ‘best practice’ to conform to for better speeds.

We don’t have thousands of customers either. I’m admittedly not sure how to count them all, but I would be surprised if we had more than 600 total.

Any advice would be appreciated, thank you.

What’s your host storage based on? Slower hdd or rather ssd?
That can make a difference. 10 seconds is rather slow and usually never the case, unless your system is busy with whatever there is.

Maybe have a friendly grep within your logfile with the following keywords:

- ERROR
- WARN
- DeadLock

Warnings normally can be ignored, however, Errors and Deadlocks can’t.

Currently I expect your system to run with a postgresql server, so you might want to ensure you have set max_connections to at least 200.

Thanks for Replying MrGeneration.
I’ll try the following and see if I can’t improve the results.

We are running on a slower platter drive.
I’ll try doing a transfer to a test machine with an SSD here and see if that improves performance.

Increased the connections to 200, also allocated more ram to the shared buffer for postgresql.conf

I am getting an error https://geo.zammad.com/lookup?ip=xxxxxxxxxx: #<RuntimeError: ERROR: 0/>
This repeats regularly through the logs.
I’'ll try setting the Services settings for all geo locations to “-” and see if that helps at all.

Only one other error shows up a single time, and I can see that it’s missing a file…

E, [2020-02-24T16:55:12.848548 #837-69966586167500] ERROR – : No such file or directory @ rb_file_s_rename - (/opt/zammad/tmp/cache_file_store_production/.User%3A%3Aauthorizations%3A%3A5920200224-837-1y1jmwz, /opt/zammad/tmp/cache_file_store_production/A76/B50/User%3A%3Aauthorizations%3A%3A59) (Errno::ENOENT)
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/file/atomic.rb:50:in rename' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/file/atomic.rb:50:in block in atomic_write’
/opt/zammad/vendor/ruby-2.5.5/lib/ruby/2.5.0/tempfile.rb:295:in open' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/core_ext/file/atomic.rb:24:in atomic_write’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache/file_store.rb:84:in write_entry' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache/strategy/local_cache.rb:150:in write_entry’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache.rb:446:in block in write' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache.rb:663:in block in instrument’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/notifications.rb:170:in instrument' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache.rb:663:in instrument’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache.rb:444:in write' /opt/zammad/lib/cache.rb:32:in write’
/opt/zammad/app/models/user/assets.rb:56:in assets' /opt/zammad/app/controllers/search_controller.rb:77:in block in search_generic’
/opt/zammad/app/controllers/search_controller.rb:71:in each' /opt/zammad/app/controllers/search_controller.rb:71:in search_generic’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_controller/metal/basic_implicit_render.rb:6:in send_action' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/abstract_controller/base.rb:194:in process_action’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:30:in process_action' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/abstract_controller/callbacks.rb:42:in block in process_action’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:132:in run_callbacks' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/abstract_controller/callbacks.rb:41:in process_action’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_controller/metal/rescue.rb:22:in process_action' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:34:in block in process_action’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/notifications.rb:168:in block in instrument' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/notifications/instrumenter.rb:23:in instrument’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/notifications.rb:168:in instrument' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:32:in process_action’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_controller/metal/params_wrapper.rb:256:in process_action' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.3/lib/active_record/railties/controller_runtime.rb:24:in process_action’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/abstract_controller/base.rb:134:in process' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.3/lib/action_view/rendering.rb:32:in process’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_controller/metal.rb:191:in dispatch' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_controller/metal.rb:252:in dispatch’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/routing/route_set.rb:52:in dispatch' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/routing/route_set.rb:34:in serve’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/journey/router.rb:52:in block in serve' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/journey/router.rb:35:in each’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/journey/router.rb:35:in serve' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/routing/route_set.rb:840:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:192:in call!' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:169:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:192:in call!' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:169:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:192:in call!' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:169:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:192:in call!' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:169:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:192:in call!' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:169:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:192:in call!' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:169:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:192:in call!' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:169:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:192:in call!' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:169:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:192:in call!' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:169:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/omniauth-1.9.0/lib/omniauth/builder.rb:64:in call' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/tempfile_reaper.rb:15:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/etag.rb:25:in call' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/conditional_get.rb:25:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/head.rb:12:in call' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/http/content_security_policy.rb:18:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:232:in context' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:226:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/cookies.rb:670:in call' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/callbacks.rb:28:in block in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/callbacks.rb:98:in run_callbacks' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/callbacks.rb:26:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/debug_exceptions.rb:61:in call' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/show_exceptions.rb:33:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/railties-5.2.3/lib/rails/rack/logger.rb:38:in call_app' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/railties-5.2.3/lib/rails/rack/logger.rb:26:in block in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:71:in block in tagged' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:28:in tagged’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/tagged_logging.rb:71:in tagged' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/railties-5.2.3/lib/rails/rack/logger.rb:26:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/remote_ip.rb:81:in call' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/request_id.rb:27:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/method_override.rb:22:in call' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/runtime.rb:22:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.3/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in call' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/executor.rb:14:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.3/lib/action_dispatch/middleware/static.rb:127:in call' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/sendfile.rb:111:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/railties-5.2.3/lib/rails/engine.rb:524:in call' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/configuration.rb:227:in call’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/server.rb:660:in handle_request' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/server.rb:474:in process_client’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/server.rb:334:in block in run' /opt/zammad/vendor/bundle/ruby/2.5.0/gems/puma-3.12.1/lib/puma/thread_pool.rb:135:in block in spawn_thread’
/opt/zammad/vendor/bundle/ruby/2.5.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context’

Ensure your host can reach and resolve geo.zammad.com (or just deactivate geo-ip services within System => Services-Tab.


Errors about missing files within temporary directories is technically an error, but not a huge issue. You can safely ignore it.
You can run zammad run rails r 'Cache.clear' and see if the issue keeps persisting or if it gets better.

Normally it’s not a regular visitor in your logfile (so not every minute or so)

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.