Ubuntu 16.04下ASP.NET Core+ MySql + Dapper在 Jexus、nginx 下的简单测试
一、环境及工具
1、服务器
VirtualBox5.1.4 安装 Ubuntu Server 16.04 amd64
MySql Ver 14.14 Distrib 5.6.21
Jexus 5.8.1
nginx 1.10.0
dotnet core 1.0.0-preview2-003121
supervisor 3.2.1
2、开发环境
VS2015 + Update 3
DotNetCore.1.0.0-VS2015Tools.Preview2.0.1.exe
3、测试工具
HttpTest4Net:http://www.ikende.com/httptest
二、项目及代码
1、mysql 数据访问、ORM
MySql.Data.Core 7.0.4-IR-191
Dapper 1.50.2
2、数据库及表
数据库:Test
数据表:User 两个字段:Id,Name,数据4条
CREATE TABLE `User` (`Id` int(11) NOT NULL AUTO_INCREMENT,`Name` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;-- ------------------------------ Records of User-- ----------------------------INSERT INTO `User` VALUES ('1', 'LXY-1');INSERT INTO `User` VALUES ('2', 'LXY-2');INSERT INTO `User` VALUES ('3', 'LXY-3');INSERT INTO `User` VALUES ('5', 'LXY-5-New');
项目,最简单的三层结构,实现增删改查(下载)
如需使用项目,请修改数据库连接字符串,在 appsettings.json 文件里:
{ "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Debug", "System": "Information", "Microsoft": "Information"}}, "ConnectionStrings": { "TestDb": "server=192.168.2.117;Port=51889;userid=test8888;password=test8888;database=Test;SslMode=None;"} }
项目使用ASP.NET CORE 自带的依赖注入,没有使用第三方的,Controller代码如下:
[Route("api/[controller]")] public class UserController : Controller{ readonly IUserBll _userBll; public UserController(IUserBll userBll){_userBll = userBll;}[HttpGet] public IEnumerable<User> Get(){ return _userBll.GetList();}[HttpGet("{name}")] public User Get(string name){ return _userBll.Get(name);}[HttpPost] public void Post([FromBody]User user){ if(user == null || string.IsNullOrEmpty(user.Name)){ return;}_userBll.Add(user);}[HttpPut] public void Put([FromBody]User user){ if (user == null || user.Id < 0 || string.IsNullOrEmpty(user.Name)){ return;}_userBll.Update(user);}[HttpDelete("{id}")] public void Delete(int id){_userBll.Delete(id);}}
三、ASP.NET CORE 在 Ubuntu 的配置
参考大神 savorboard 的博客:http://www.cnblogs.com/savorboard。
四、测试结果
说明:因为使用jexus端口转发模式测试时,Requests:10000 Users:50 KeepAlive:False 的时候,就出现了很多错误连接,所以没有继续测试,不知道是不是我的配置有问题,配置如下:
###################### # Web Site: Default ########################################port=8080root=/ /hoem/vsftpd/website/webapitest hosts=* #OR your.com,*.your.com# addr=0.0.0.0# CheckQuery=falseNoLog=trueAppHost.Port=5000# NoFile=/index.aspx # Keep_Alive=false # UseGZIP=false # UseHttps=true # DenyFrom=192.168.0.233, 192.168.1.*, 192.168.2.0/24# AllowFrom=192.168.*.* # DenyDirs=~/cgi, ~/upfiles # indexes=myindex.aspx # rewrite=^/.+?\.(asp|php|cgi|pl|sh)$ /index.aspx
端口转发测试结果如下:
下面是 nginx 和 jexus 反向代理模式下的测试结果:
1. Requests:10000; Users:50;KeppAlive:False
nginx:
jexus:
2. Requests:10000; Users:50;KeppAlive:True
nginx:
jexus:
3. Requests:10000; Users:200;KeppAlive:False
nginx:
jexus:
4. Requests:10000; Users:200;KeppAlive:True
nginx:
jexus:
5. Requests:10000; Users:500;KeppAlive:False
nginx:
jexus:
6. Requests:10000; Users:500;KeppAlive:True
nginx:
jexus:
7. Requests:10000; Users:100;KeppAlive:False
nginx:
jexus:
8. Requests:10000; Users:1000;KeppAlive:True
nginx:
jexus:
五、总结
测试环境非常简陋,测试到1000用户的时候,路由器受不了了,其他应用程序都纷纷离线了,包括QQ。上面结果可能不是非常准确,但是有一定的参考价值。
只测试了GET,没有测试POST。
感觉ASP.NET CORE 应该慢慢的可以使用到生产环境中了:)。
原文地址:http://www.cnblogs.com/Starts_2000/p/aspnetcore-ubuntu1604-mysql-dapper-jexus-nginx-test.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
Ubuntu 16.04下ASP.NET Core+ MySql + Dapper在 Jexus、nginx 下的简单测试相关推荐
- 如何在Ubuntu 16.04上创建多节点MySQL集群(MySQL-Cluster)
翻译转载:https://www.digitalocean.com/community/tutorials/how-to-create-a-multi-node-mysql-cluster-on-ub ...
- mysql ubuntu 16.04_如何在Ubuntu 16.04上安装最新的MySQL
介绍 MySQL是一个突出的开源数据库管理系统,用于存储和检索各种流行应用程序的数据. MySQL是LAMP中的M ,这是一组常用的开源软件,还包括Linux,Apache Web服务器和PHP编程语 ...
- ubuntu 16.04 php 开发环境搭建
ubuntu 16.04 php 开发环境搭建 mysql sudo apt install -y mysql-server mysql-client php 5.6 sudo add-apt-rep ...
- ubuntu 16.04 server版安装VirtualBox Guest Additions 的解决过程
在virtualbox下安装ubuntu 16.04 server后,需要安装增强服务功 能,然而简单的采用点击设备->安装增强功能会显示虚拟光盘无法加载的错误.本文给出了一种解决方法. 首先, ...
- ubuntu 环境下调试mysql源码_【转】Ubuntu 16.04下 Mysql 5.7.17源码编译与安装
Ubuntu 16.04下 Mysql5.7.17源码编译与安装 系统环境 一. 系统安装条件 1.cmake MySQL使用cmake跨平台工具预编译源码,用于设置mysql的编译参数. sudo ...
- Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城
本文档为微信小程序商城NideShop服务端api的安装部署教程 服务端api : https://github.com/tumobi/nideshop 微信小程序端 : https://github ...
- ubuntu 16.04下安装mysql
ubuntu 16.04下安装mysql 从官网下载mysql-apt-config_0.8.12-1_all.deb,下载地址为:https://dev.mysql.com/downloads/re ...
- Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城 1
本文档为微信小程序商城NideShop服务端api的安装部署教程 服务端api : https://github.com/tumobi/nideshop 微信小程序端 : https://github ...
- 在Ubuntu 16.04环境下安装Docker-CE(附视频教程)
" 任何的课程都逃不开理论的支持" 久等了各位,上一篇说Docker开始的消息已经过去了一周多的时间,今天推送的消息是告诉大家视频可以学习了! 52ABP .NET CORE QQ ...
最新文章
- spring MVC使用自定义的参数解析器解析参数
- 关于线程池,那些你还不知道的事
- java图形界面重写坐标_重写自由软件和计算机图形的历史
- 如何进行日志采集设定和时间同步
- C# 正则表达式整理
- cmd无法识别javac命令_cmd输入javac提示不是内部命令怎么办
- 这是你了解的P2P 么?
- 电脑上怎么截图按什么键?电脑截图的快捷键是什么?
- 企业版IDP的申请及“In House”发布
- canvas教程17-合成
- 解决svmtrain已被删除问题
- 主要Linux发行版和FreeBSD概述
- 牛客-判断一个链表是否为回文结构
- 洛谷 P2790 ccj与zrz之积木问题
- Word2007插入目录、更新目录后大纲乱掉和无法保存大纲的解决办法
- 阴历五月一个下着雨夹雪的黄昏
- MATLAB的global变量
- 各种反掩码的计算方法
- 修改浏览器的标题和图标
- 安装配置sublime text2 最全教程
热门文章
- Java IO的RandomAccessFile的使用(转)
- 08 comet反向ajax
- 外媒:谷歌攻击码由中国作者发布
- ISA禁止了symantec的LiveUpdate的使用
- .NET 6新特性试用 | 隐式using指令
- 本地搭建K8s环境,并配置Ingress代理(1)
- ASP.NET Core官方文档+源码,这样学效率高10倍!
- NET问答: 如何将十六进制的 #FFDFD991 转成 C# 中的 Color 类?
- 快速打造一个MINI自动发布系统
- Dapr微服务应用开发系列4:状态管理构件块