Я использую Odoo v8, с workers=5
, и 1 Гб назначается на каждого работника.
Я настроил Odoo с NginX, и я получаю это следующее сообщение. Люди, которые используют этот экземпляр, жалуются на медлительность Odoo. Может ли это быть связано с медлительностью?
Я использую 3 рабочих для NginX
openerp.modules.registry: Multiprocess signaling check: [Registry - old# 1 new# 1] [Cache - old# 3 new# 3]
В основном пользователи используют две разные базы данных. Я получаю эти комбинации, по одной для каждой базы данных:
[Registry - old# 1 new# 1] [Cache - old# 1 new# 1] >> database 1
[Registry - old# 1 new# 1] [Cache - old# 3 new# 3] >> database 2
Обновление Это метод, где печатается отладочное сообщение, но я не знаю, что такое registry
и если это плохо или нет. Более того, иногда я получаю сообщение: Invalidating all model caches after database signaling.
@classmethod
def check_registry_signaling(cls, db_name):
"""
Check if the modules have changed and performs all necessary operations to update
the registry of the corresponding database.
:returns: True if changes has been detected in the database and False otherwise.
"""
changed = False
if openerp.multi_process and db_name in cls.registries:
registry = cls.get(db_name)
cr = registry.cursor()
try:
cr.execute("""
SELECT base_registry_signaling.last_value,
base_cache_signaling.last_value
FROM base_registry_signaling, base_cache_signaling""")
r, c = cr.fetchone()
_logger.debug("Multiprocess signaling check: [Registry - old# %s new# %s] "\
"[Cache - old# %s new# %s]",
registry.base_registry_signaling_sequence, r,
registry.base_cache_signaling_sequence, c)
# Check if the model registry must be reloaded (e.g. after the
# database has been updated by another process).
if registry.base_registry_signaling_sequence is not None and registry.base_registry_signaling_sequence != r:
changed = True
_logger.info("Reloading the model registry after database signaling.")
registry = cls.new(db_name)
# Check if the model caches must be invalidated (e.g. after a write
# occured on another process). Don't clear right after a registry
# has been reload.
elif registry.base_cache_signaling_sequence is not None and registry.base_cache_signaling_sequence != c:
changed = True
_logger.info("Invalidating all model caches after database signaling.")
registry.clear_caches()
registry.reset_any_cache_cleared()
registry.base_registry_signaling_sequence = r
registry.base_cache_signaling_sequence = c
finally:
cr.close()
return changed
Это нормальное поведение?