Performance problem

Nicolas Pinault nicolasp at aaton.com
Mon Feb 5 13:24:38 UTC 2018


Le 03/02/2018 à 19:39, Mads Kiilerich a écrit :
> On 01/31/2018 11:58 AM, Nicolas Pinault wrote:
>> Hi,
>>
>> I've changed my server. I've installed Kallithea 0.3.3 on this new 
>> server and migrated my repositories from 0.3.1 to 0.3.3.
>> The new PC is faster than the previous one (10 years old). The new PC 
>> runs Windows server 2012, the old one was running Windows server 2003.
>> There is no other process running on the server that notably consume 
>> processing power.
>>
>> This new configuration is much slower than the previous one.
>> Checking for incoming changes takes about 20s seconds.
>> Pushing is very slow.
>>
>> Any idea of why I get this performance problem ?
>
> Can you say more about the setup? Using IIS? Configured how?
I followed the installation procedure described here : 
http://kallithea.readthedocs.io/en/stable/installation_win.html
I updated my old database using the instructions on the same page.

My old installation did not use a venv. I don't think this is the source 
of the problem.

My configuration is the following (I removed all comments) :
[DEFAULT]
debug = true
pdebug = false

[server:main]
use = egg:waitress#main
threads = 1
max_request_body_size = 107374182400
host = serveur
port = 5000

[app:main]
use = egg:kallithea
full_stack = true
static_files = true
lang =
cache_dir = %(here)s/data
index_dir = %(here)s/data/index
initial_repo_scan = false
archive_cache_dir = %(here)s/tarballcache
app_instance_uuid = 4e5f0a74-6dc1-46f9-9035-0fc5515667a0
cut_off_limit = 256000
vcs_full_cache = true
force_https = false
use_htsts = false
commit_parse_limit = 25
git_path = git
rss_cut_off_limit = 256000
rss_items_per_page = 10
rss_include_diff = false
show_sha_length = 12
show_revision_number = false
gist_alias_url =
api_access_controllers_whitelist =
default_encoding = utf8,latin1,cp1252
issue_pat = (?:\s*#)(\d+)
issue_server_link = http://serveur:8000/Trac/ticket/{id}
issue_prefix = #
instance_id =
auth_ret_code =
lock_ret_code = 423
allow_repo_location_change = True
settings page
allow_custom_hooks_settings = True

use_celery = false
broker.host = serveur
broker.vhost = rabbitmqhost
broker.port = 5672
broker.user = rabbitmq
broker.password = qweqwe
celery.imports = kallithea.lib.celerylib.tasks
celery.result.backend = amqp
celery.result.dburi = amqp://
celery.result.serialier = json
celeryd.concurrency = 2
celeryd.log.level = DEBUG
celeryd.max.tasks.per.child = 1
celery.always.eager = false

beaker.cache.data_dir = %(here)s/data/cache/data
beaker.cache.lock_dir = %(here)s/data/cache/lock
beaker.cache.regions = short_term,long_term,sql_cache_short
beaker.cache.short_term.type = memory
beaker.cache.short_term.expire = 60
beaker.cache.short_term.key_length = 256
beaker.cache.long_term.type = memory
beaker.cache.long_term.expire = 36000
beaker.cache.long_term.key_length = 256
beaker.cache.sql_cache_short.type = memory
beaker.cache.sql_cache_short.expire = 10
beaker.cache.sql_cache_short.key_length = 256

beaker.session.key = kallithea
beaker.session.httponly = true
beaker.session.timeout = 2592000
beaker.session.secret = 4e5f0a74-6dc1-46f9-9035-0fc5515667a0

appenlight = false
appenlight.server_url = https://api.appenlight.com
appenlight.api_key = YOUR_API_KEY
appenlight.report_404 = false
appenlight.slow_request_time = 1
appenlight.slow_requests = true
appenlight.logging_on_error = false
appenlight.environ_keys_whitelist =
appenlight.request_keys_blacklist =
appenlight.log_namespace_blacklist =

sentry.dsn = YOUR_DNS
sentry.servers =
sentry.name =
sentry.key =
sentry.public_key =
sentry.secret_key =
sentry.project =
sentry.site =
sentry.include_paths =
sentry.exclude_paths =

set debug = false

logview.sqlalchemy = #faa
logview.pylons.templating = #bfb
logview.pylons.util = #eee

sqlalchemy.db1.url = sqlite:///%(here)s/kallithea.db?timeout=60
sqlalchemy.db1.echo = false
sqlalchemy.db1.pool_recycle = 3600
sqlalchemy.db1.convert_unicode = true

[loggers]
keys = root, routes, kallithea, sqlalchemy, beaker, templates, 
whoosh_indexer

[handlers]
keys = console, console_sql

[formatters]
keys = generic, color_formatter, color_formatter_sql

[logger_root]
level = NOTSET
handlers = console

[logger_routes]
level = DEBUG
handlers =
qualname = routes.middleware
propagate = 1

[logger_beaker]
level = DEBUG
handlers =
qualname = beaker.container
propagate = 1

[logger_templates]
level = INFO
handlers =
qualname = pylons.templating
propagate = 1

[logger_kallithea]
level = DEBUG
handlers =
qualname = kallithea
propagate = 1

[logger_sqlalchemy]
level = INFO
handlers = console_sql
qualname = sqlalchemy.engine
propagate = 0

[logger_whoosh_indexer]
level = DEBUG
handlers =
qualname = whoosh_indexer
propagate = 1

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = INFO
formatter = generic

[handler_console_sql]
class = StreamHandler
args = (sys.stderr,)
level = WARN
formatter = generic

[formatter_generic]
format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %Y-%m-%d %H:%M:%S

[formatter_color_formatter]
class = kallithea.lib.colored_formatter.ColorFormatter
format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %Y-%m-%d %H:%M:%S

[formatter_color_formatter_sql]
class = kallithea.lib.colored_formatter.ColorFormatterSql
format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %Y-%m-%d %H:%M:%S

>
> Can you see where the time is spent? It might be tricky for "hg 
> incoming" which has several round-trips. Are regular page loads also 
> slow?
Browsing repositories inside Kallithea is ok. No abnormal latencies are 
noticeable.



Nicolas
>
> /Mads



More information about the kallithea-general mailing list