Redmine性能测试
Redmine部署使用有一个月了,反馈有时很慢。
1、查看log发现,事务更新后要发送Email,如果连接邮件服务器有问题,会等待超时,导致很慢。
2、解决发送邮件问题后,仍然有时慢,ActiveRecord显示要几百秒。
测试:
1、采用http_load进行测试(只能测试GET,不支持POST。找了windows平台上运行的版本):
D:\App\Coder\http_load>http_load -parallel 8 -s 3000 urls.txt
: byte count wrong080/projects/oad/issues?page=5&query_id=12
: byte count wrong080/projects/oad/issues?page=2&query_id=12
: byte count wrong080/projects/oad/issues?page=2&query_id=33
: byte count wrong080/projects/oad/issues?page=7&query_id=14
: byte count wrong080/projects/oad/issues?page=5&query_id=12
5097 fetches, 8 max parallel, 1.8367e+08 bytes, in 3000.01 seconds
36034.9 mean bytes/connection
1.69899 fetches/sec, 61223.1 bytes/sec
msecs/connect: 0.593747 mean, 31.212 max, 0 min
msecs/first-response: 3452.88 mean, 48662.2 max, 25.022 min
5 bad byte counts
HTTP response codes:
code 200 -- 4763
code 302 -- 329
code 502 -- 5
最多48秒才返回,确实有点慢,但可以接受。
2、apache自带的ab应该也很轻量级的,可以测试POST,但是好像不能对多个POST列表同时测试。 下次试试JMeter。
3、性能优化的影响因素较多,可参考此文。如配置优化mysql,在my.ini里增加:
innodb_buffer_pool_size = 1073741824
# Threads_cached = ON # -> ON
thread_cache_size = 16 # (start at 4)
query_cache_size = 8000000 # (>= 8M)
join_buffer_size = 128000 # (> 128.0K)
tmp_table_size = 16000000 # (> 16M)
max_heap_table_size = 16000000 # (> 16M)
table_open_cache = 800 #(> 800)
#innodb_buffer_pool_size (>= 371M)
thread_concurrency = 8 #(cpu*2)
Redmine性能测试的更多相关文章
- Redmine性能优化方案
近来公司redmine服务器表现很糟糕,在16核,64GRAM的机器上,压测结果竟然只有每秒5~7个请求,部分页面一个都出不来. 以下是我对Redmine性能优化方案: redmine服务器性能问题排 ...
- Ignite性能测试以及对redis的对比
测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测试方法很简单主要是下面几点: 不作参数优化,默认 ...
- 性能测试工具 wrk 安装与使用
介绍 今天给大家介绍一款开源的性能测试工具 wrk,简单易用,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于性能测试工具,但是比 ab 功能更加强大,并且可以 ...
- .NET Core性能测试组件BenchmarkDotNet 支持.NET Framework Mono
.NET Core 超强性能测试组件BenchmarkDotNet 支持Full .NET Framework, .NET Core (RTM), Mono. BenchmarkDotNet支持 C# ...
- C#中实现并发的几种方法的性能测试
C#中实现并发的几种方法的性能测试 0x00 起因 去年写的一个程序因为需要在局域网发送消息支持一些命令和简单数据的传输,所以写了一个C/S的通信模块.当时的做法很简单,服务端等待链接,有用户接入后开 ...
- 「视频直播技术详解」系列之七:直播云 SDK 性能测试模型
关于直播的技术文章不少,成体系的不多.我们将用七篇文章,更系统化地介绍当下大热的视频直播各环节的关键技术,帮助视频直播创业者们更全面.深入地了解视频直播技术,更好地技术选型. 本系列文章大纲如下: ...
- bitnami redmine版本由2.3.1升级至3.2.2过程
环境: 操作系统为ubuntu13.**版本,非长期支持版. 安装目录:/opt/redmine-2.3.1-0/ 所有者用户:root 安装过程: 1. 备份2.3.1数据库 sudo /opt/r ...
- PostgreSql性能测试
# PostgreSql性能测试 ## 1. 环境+ 版本:9.4.9+ 系统:OS X 10.11.5+ CPU:Core i5 2.7G+ 内存:16G+ 硬盘:256G SSD ## 2. 测试 ...
- Web系统性能测试术语简介
并发用户 并发一般分为两种情况.一种是严格意义上的并发,即所有的用户在同一时刻做同一件事情或者操作.这种操作一般指做同一类型的业务,比如在信用卡审批业务中,一定数目的用户在同一时刻对已经完成的审批业务 ...
随机推荐
- css 温故而知新 slideDown/slideUp 新思路
默认设置高度为0; -webkit-transition:.3s all ease;transition:.3s all ease;opacity:0;height:0; 需要时添加高度即可 heig ...
- PHP的流程控制结构
1.break 使用break语句可以将深埋在嵌套循环中的语句退出到指定层数或直接退出到最外层,break是接受一个可选的数字参数来决定跳出几重语句.break可以跳出几重语句.break可以跳出几重 ...
- T2 Func<in T1,out T2>(T1 arg)
委托调用方法的4种方式. using System; using System.Collections.Generic; namespace ConsoleApplication1 { delegat ...
- Unity内存理解(转)
Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBu ...
- asp.net mvc 过滤器
https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters#ordering 1. 对于应用在 Action 上的多个行为 ...
- rabbitmq之back queue草稿
申请队列rabbit_reader在收到消息后处理数据帧时,如果channel id不是0(0代表连接),则认为是channel相关方法. handle_frame(Type, Channel, Pa ...
- js,css小知识点记录
JS手册中提到:可以使用任意表达式作比较表达式.任何值为0.null.未定义或空字符串的表达式被解释为 false.其他任意值的表达式解释为 true.也就是说,这里会隐式的转换为布尔值. ...
- 源码阅读 etherum-block.py
def calc_difficulty(parent, timestamp): config = parent.config offset = parent.difficulty // config[ ...
- typealias和泛型接口
typealias 是用来为已经存在的类型重新定义名字的,通过命名,可以使代码变得更加清晰.使用的语法也很简单,使用 typealias 关键字像使用普通的赋值语句一样,可以将某个已经存在的类型赋值为 ...
- iOS基于MVC的项目重构总结
关于MVC的争论 关于MVC的争论已经有很多,对此我的观点是:对于iOS开发中的绝大部分场景来说,MVC本身是没有问题的,你认为的MVC的问题,一定是你自己理解的问题(资深架构师请自动忽略本文). 行 ...