问题:

在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自定义字段增多后会变慢的更多相关文章

  1. 自定义字段的设计与实现(Java实用版)

    前言 自定义字段又叫做"开放模型",用户可以根据自已的需求,添加需要的字段,实现个性化定制. 使用自定义字段的目的,使用自定义字段解决哪些问题 如现有一套CRM系统,客户模块中客户 ...

  2. phpcms v9调用自定义字段的方法步骤

    代码如下:{loop $shigongtu $r}<img src="{$r[url]} " title="测试"/>{/loop} 2 首页,分页 ...

  3. Java自定义表单、自定义字段

    最近想实现用户自定义数据库中的字段,我想大部分人第一想到的就是EAV(Entity-Attribute-Value),这种方式对于写一个小的毕业设计应该还可以使用,当然也有很多CMS系统采用这种方式, ...

  4. sharepoint2010问卷调查(4)-实现问卷的重复答复次数(采用自定义字段类型和JS)

    sharepoint的问卷调查可以设置重复和一次答复.但是设置一次后,调查过的用户再进行答复.会提示如下图: 分析下:该提示用户体验很不好.给用户感觉是系统出问题了.因此网上有人提出用eventhan ...

  5. sharepoint2010问卷调查(3)-实现问卷的开始和结束时间(采用自定义字段类型)

    接着上面的图片调查,sharepoint自带的问卷调查是没有开始和结束时间的.这个在项目过程不太实用.问卷一般有开始和结束时间的.因此需要自己 动手开发一个自定义字段类型字段.如下图: 开发添加栏目会 ...

  6. sharepoint2010问卷调查(2)-实现问卷的图片调查(采用自定义字段类型)

    1. 首先建立个图片库上传图片 并建立文件夹1和2,1下有1.1文件夹,2下2.1文件夹,2.1下有文件夹2.1.1. 在1文件夹下放如下图片: 2.建立自定义字段类型,如下图: 3.部署后建立栏目的 ...

  7. phpcms_v9 多图字段 内容页,首页,分页自定义字段调用

    phpcms_v9 多图字段 内容页,首页,分页自定义字段调用 说明:自定义多图字段名 shigongtu 1 内容页调用 {loop $shigongtu $r}      <img src= ...

  8. 从 Typecho 自定义字段的调用代码看去

    千呼万唤,Typecho 的"自定义字段"功能终于在 0.9 中出来了.然而,多数人还蒙在这样一个鼓里--该怎么在模板调用已经设置好的自定义字段呢?让我们从这里开始说下去: Typ ...

  9. DEDECMS栏目自定义字段添加

    用到的文件: catalog_add.htm  路径:\dede\templets\ catalog_edit.htm  路径:\dede\templets\  catalog_add.php  路径 ...

随机推荐

  1. 2.线性表-Linked list

    fatal.h #include <stdio.h> #include <stdlib.h> #define Error( Str ) FatalError( Str ) #d ...

  2. github搭建静态博客

    p { margin-bottom: 0.1in; line-height: 120% } 1. 创建Repository 创建一个与自己github用户名对应的Repository,例如:abc.g ...

  3. React Native 中 CSS 的使用

    首先声明,此文原作者为黎 跃春 React Native中CSS 内联样式 对象样式 使用Stylesheet.Create 样式拼接 导出样式对象 下面的代码是index.ios.js中的代码: / ...

  4. C# 控制datagridview的combox属性的列绑定数据

    //datagridvie列绑定list的数据 List<User> listChange = GetChange();//查询数据库内容,保存到list this.datagridvie ...

  5. 配置webdriver环境

    安装环境pip install selenium,提示 Could not find a version that satisfies the requirement selenium (from v ...

  6. mysql优化杂记

    一.mysqladmin的使用#mysqladmin extended-status -u root -i 2 -c 2 -p | grep connect查看mysql的状态中带有connect字符 ...

  7. throw exception

    Throw new CustomerException('Customer message'); // App\Exceptions\Handler.php public function rende ...

  8. VSCODE 插件初探

    写在前面 分享一个vscode插件background(用于改变背景).点击直接跳到vscode插件开发步骤 做vscode的插件,很久就有这个想法了,但是一直因为这样,那样的事情耽误,放弃了N次.不 ...

  9. Java中MyEclipse快捷键整理

    ************************************  MyEclipse 快捷键1(CTRL) ************************************ Ctrl ...

  10. 用户引导页--- ScrollView的使用

    一.首先第一步,写好用户轮播页的viewController,比如叫做LVUserGuideVC,关键代码是配置和scrollView和pageControl. (1)scrollView的设置 se ...