一、环境及工具

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:

  

  

五、总结

  1. 测试环境非常简陋,测试到1000用户的时候,路由器受不了了,其他应用程序都纷纷离线了,包括QQ。上面结果可能不是非常准确,但是有一定的参考价值。

  2. 只测试了GET,没有测试POST。

  3. 感觉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 下的简单测试相关推荐

  1. 如何在Ubuntu 16.04上创建多节点MySQL集群(MySQL-Cluster)

    翻译转载:https://www.digitalocean.com/community/tutorials/how-to-create-a-multi-node-mysql-cluster-on-ub ...

  2. mysql ubuntu 16.04_如何在Ubuntu 16.04上安装最新的MySQL

    介绍 MySQL是一个突出的开源数据库管理系统,用于存储和检索各种流行应用程序的数据. MySQL是LAMP中的M ,这是一组常用的开源软件,还包括Linux,Apache Web服务器和PHP编程语 ...

  3. ubuntu 16.04 php 开发环境搭建

    ubuntu 16.04 php 开发环境搭建 mysql sudo apt install -y mysql-server mysql-client php 5.6 sudo add-apt-rep ...

  4. ubuntu 16.04 server版安装VirtualBox Guest Additions 的解决过程

    在virtualbox下安装ubuntu 16.04 server后,需要安装增强服务功 能,然而简单的采用点击设备->安装增强功能会显示虚拟光盘无法加载的错误.本文给出了一种解决方法. 首先, ...

  5. ubuntu 环境下调试mysql源码_【转】Ubuntu 16.04下 Mysql 5.7.17源码编译与安装

    Ubuntu 16.04下 Mysql5.7.17源码编译与安装 系统环境 一. 系统安装条件 1.cmake MySQL使用cmake跨平台工具预编译源码,用于设置mysql的编译参数. sudo ...

  6. Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城

    本文档为微信小程序商城NideShop服务端api的安装部署教程 服务端api : https://github.com/tumobi/nideshop 微信小程序端 : https://github ...

  7. ubuntu 16.04下安装mysql

    ubuntu 16.04下安装mysql 从官网下载mysql-apt-config_0.8.12-1_all.deb,下载地址为:https://dev.mysql.com/downloads/re ...

  8. Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城 1

    本文档为微信小程序商城NideShop服务端api的安装部署教程 服务端api : https://github.com/tumobi/nideshop 微信小程序端 : https://github ...

  9. 在Ubuntu 16.04环境下安装Docker-CE(附视频教程)

    " 任何的课程都逃不开理论的支持" 久等了各位,上一篇说Docker开始的消息已经过去了一周多的时间,今天推送的消息是告诉大家视频可以学习了! 52ABP .NET CORE QQ ...

最新文章

  1. spring MVC使用自定义的参数解析器解析参数
  2. 关于线程池,那些你还不知道的事
  3. java图形界面重写坐标_重写自由软件和计算机图形的历史
  4. 如何进行日志采集设定和时间同步
  5. C# 正则表达式整理
  6. cmd无法识别javac命令_cmd输入javac提示不是内部命令怎么办
  7. 这是你了解的P2P 么?
  8. 电脑上怎么截图按什么键?电脑截图的快捷键是什么?
  9. 企业版IDP的申请及“In House”发布
  10. canvas教程17-合成
  11. 解决svmtrain已被删除问题
  12. 主要Linux发行版和FreeBSD概述
  13. 牛客-判断一个链表是否为回文结构
  14. 洛谷 P2790 ccj与zrz之积木问题
  15. Word2007插入目录、更新目录后大纲乱掉和无法保存大纲的解决办法
  16. 阴历五月一个下着雨夹雪的黄昏
  17. MATLAB的global变量
  18. 各种反掩码的计算方法
  19. 修改浏览器的标题和图标
  20. 安装配置sublime text2 最全教程

热门文章

  1. Java IO的RandomAccessFile的使用(转)
  2. 08 comet反向ajax
  3. 外媒:谷歌攻击码由中国作者发布
  4. ISA禁止了symantec的LiveUpdate的使用
  5. .NET 6新特性试用 | 隐式using指令
  6. 本地搭建K8s环境,并配置Ingress代理(1)
  7. ASP.NET Core官方文档+源码,这样学效率高10倍!
  8. NET问答: 如何将十六进制的 #FFDFD991 转成 C# 中的 Color 类?
  9. 快速打造一个MINI自动发布系统
  10. Dapr微服务应用开发系列4:状态管理构件块