Redmine自定义字段增多后会变慢
问题:
在Redmine部署使用后,发现更新事务时速度慢,进行了相关试验,去掉了可能影响速度的插件,仍然很慢。以下为对比试验:
1、包含12个自定义字段的项目,更新用时2136ms,记录如下:
Started PATCH "/issues/3115" for 127.0.0.1 at 2016-07-03 10:58:36 +0800
Processing by IssuesController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"QNZR0IqhR6x6Otexs0D0w9b+2fWma/0YfiuOskbmGSQYMLB7lwQZJLB19GqANWSjh/6iubUif4l1X+E6nE8vhQ==", "form_update_triggered_by"=>"", "issue"=>{"project_id"=>"5", "tracker_id"=>"5", "subject"=>"XX项目", "description"=>"XX项目", "status_id"=>"6", "priority_id"=>"4", "custom_field_values"=>{"57"=>"", "50"=>"XX", "53"=>"", "11"=>"", "28"=>"XX", "14"=>"2016-05-18", "34"=>"2016-05-18", "51"=>"2016-07-12", "16"=>"0", "3"=>"2016-05-18", "23"=>"", "52"=>""}, "notes"=>"", "lock_version"=>"0"}, "was_default_status"=>"6", "last_journal_id"=>"", "commit"=>"提交", "next_issue_id"=>"3114", "issue_position"=>"1", "issue_count"=>"150", "id"=>"3115"}
Current user: csl (id=26)
Rendered mailer/_issue.text.erb (15.6ms)
Rendered mailer/issue_edit.text.erb within layouts/mailer (31.2ms)
Rendered mailer/_issue.html.erb (0.0ms)
Rendered mailer/issue_edit.html.erb within layouts/mailer (0.0ms)
Redirected to http://127.0.0.1:8080/issues/3115?issue_count=150&issue_position=1&next_issue_id=3114
Completed 302 Found in 2136ms (ActiveRecord: 115.6ms)
2、包含51个自定义字段的项目,更新用时5745ms,记录如下:
Started PATCH "/issues/3890" for 127.0.0.1 at 2016-07-03 10:57:07 +0800
Processing by IssuesController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"BdB8/SFFGD0lTT45NVQpA/dqUk/s/NExRrR0/orEDStdNp1WPOBGte8CHeIGIbljpmopA/+1U6BNwBt2UG07ig==", "form_update_triggered_by"=>"", "issue"=>{"status_id"=>"2", "priority_id"=>"2", "assigned_to_id"=>"", "start_date"=>"", "due_date"=>"", "custom_field_values"=>{"57"=>"", "28"=>"XXX", "16"=>"", "21"=>"", "22"=>"", "3"=>"", "23"=>"", "35"=>"", "37"=>"0", "24"=>"", "25"=>"", "26"=>"0", "38"=>"", "39"=>"", "40"=>"", "41"=>"", "42"=>"", "43"=>"", "59"=>""}, "notes"=>"", "lock_version"=>"3"}, "last_journal_id"=>"246", "commit"=>"提交", "prev_issue_id"=>"3904", "next_issue_id"=>"3883", "issue_position"=>"2", "issue_count"=>"15", "id"=>"3890"}
Current user: csl (id=26)
Rendered mailer/_issue.text.erb (31.2ms)
Rendered mailer/issue_edit.text.erb within layouts/mailer (93.6ms)
Rendered mailer/_issue.html.erb (15.6ms)
Rendered mailer/issue_edit.html.erb within layouts/mailer (15.6ms)
Rendered mailer/_issue.text.erb (15.6ms)
Rendered mailer/issue_edit.text.erb within layouts/mailer (31.2ms)
Rendered mailer/_issue.html.erb (0.0ms)
Rendered mailer/issue_edit.html.erb within layouts/mailer (15.6ms)
Redirected to http://127.0.0.1:8080/issues/3890?issue_count=15&issue_position=2&next_issue_id=3883&prev_issue_id=3904
Completed 302 Found in 5745ms (ActiveRecord: 66.8ms)
初步看来,解决办法是减少跟踪标签的自定义字段。
解决方案:
1、删除事务跟踪者,可以明显降低事务提交后的等待周期。因为事务更新需要发送邮件给跟踪者,而这个过程比较耗时。
2、减少自定义字段数。
Redmine自定义字段增多后会变慢的更多相关文章
- 自定义字段的设计与实现(Java实用版)
前言 自定义字段又叫做"开放模型",用户可以根据自已的需求,添加需要的字段,实现个性化定制. 使用自定义字段的目的,使用自定义字段解决哪些问题 如现有一套CRM系统,客户模块中客户 ...
- phpcms v9调用自定义字段的方法步骤
代码如下:{loop $shigongtu $r}<img src="{$r[url]} " title="测试"/>{/loop} 2 首页,分页 ...
- Java自定义表单、自定义字段
最近想实现用户自定义数据库中的字段,我想大部分人第一想到的就是EAV(Entity-Attribute-Value),这种方式对于写一个小的毕业设计应该还可以使用,当然也有很多CMS系统采用这种方式, ...
- sharepoint2010问卷调查(4)-实现问卷的重复答复次数(采用自定义字段类型和JS)
sharepoint的问卷调查可以设置重复和一次答复.但是设置一次后,调查过的用户再进行答复.会提示如下图: 分析下:该提示用户体验很不好.给用户感觉是系统出问题了.因此网上有人提出用eventhan ...
- sharepoint2010问卷调查(3)-实现问卷的开始和结束时间(采用自定义字段类型)
接着上面的图片调查,sharepoint自带的问卷调查是没有开始和结束时间的.这个在项目过程不太实用.问卷一般有开始和结束时间的.因此需要自己 动手开发一个自定义字段类型字段.如下图: 开发添加栏目会 ...
- sharepoint2010问卷调查(2)-实现问卷的图片调查(采用自定义字段类型)
1. 首先建立个图片库上传图片 并建立文件夹1和2,1下有1.1文件夹,2下2.1文件夹,2.1下有文件夹2.1.1. 在1文件夹下放如下图片: 2.建立自定义字段类型,如下图: 3.部署后建立栏目的 ...
- phpcms_v9 多图字段 内容页,首页,分页自定义字段调用
phpcms_v9 多图字段 内容页,首页,分页自定义字段调用 说明:自定义多图字段名 shigongtu 1 内容页调用 {loop $shigongtu $r} <img src= ...
- 从 Typecho 自定义字段的调用代码看去
千呼万唤,Typecho 的"自定义字段"功能终于在 0.9 中出来了.然而,多数人还蒙在这样一个鼓里--该怎么在模板调用已经设置好的自定义字段呢?让我们从这里开始说下去: Typ ...
- DEDECMS栏目自定义字段添加
用到的文件: catalog_add.htm 路径:\dede\templets\ catalog_edit.htm 路径:\dede\templets\ catalog_add.php 路径 ...
随机推荐
- bootstrap css总结
base css 我分为了几大类 1,列表 .unstyled(无样式列表),.dl-horizontal(dl列表水平排列) 2,代码 code(行级),pre(块级),.pre-scrollabl ...
- Oracle ORA-01722: 无效数字 处理方法
C# + Oralce 10G 项目中 有用参数处理Update语句.参数命名和表字段同名.执行报错: ORA-01722: 无效数字 后修改所有的参数和对应字段不同.解决. 修改前: StringB ...
- sql语句 之聚合函数
聚合分析 在访问数据库时,经常需要对表中的某列数据进行统计分析,如求其最大值.最小值.平均值等.所有这些针对表中一列或者多列数据的分析就称为聚合分析. 在SQL中,可以使用聚合函数快速实现数据的聚 ...
- Linux下搭建Windows KMS服务器
这几天微软发布了Windows 10 RedStone 1 Build 14390, 于是我第一时间下载进行了试用.和之前那种不激活也没有任何异样不同,现在的版本如果不激活有些功能就受限了,比如你无法 ...
- Mybatis异常--java.lang.IllegalArgumentException: NO ENUM const class org.apache.ibatis.type.JdbcType.int
今天下午写代码时发现一直报错,找了半天都没找到错误原因. 最后才发现原来是XML配置错误,某条属性的JdbcType我按照以前ibatis的习惯写的int,但是Mybatis不识别的. 上Mybati ...
- JQ第三天//基本纯代码
一.让图片飞 代码:<script type="text/javascript"> $(function () { $(docume ...
- 浅谈java抽象类和接口
第一次,写这个,没有把图片放上来,有兴趣的可以点击连接看原文 http://note.youdao.com/noteshare?id=aecbd52b9240f23c0954e8086b848a17 ...
- EntityFramework优缺点
高层视图: 改变在现有系统使用EntityFramework的优势是什么? • All -in-1框架的类映射表,需要编写映射代码, 并且是很难维护的. • 可维护性,易于理解的代码,无需创造大的数据 ...
- LeetCode Power of Four
原题链接在这里:https://leetcode.com/problems/power-of-four/ 题目: Given an integer (signed 32 bits), write a ...
- JAVAWEB项目如何实现验证码
验证码基础 一.什么是验证码及它的作用 :验证码为全自动区分计算机和人类的图灵测试的缩写,是一种区分用户是计算机的公共全自动程序,这个问题可以由计算机生成并评判,但是必须只有人类才能解答.可以防止恶意 ...