日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Ubuntu 16.04下ASP.NET Core+ MySql + Dapper在 Jexus、nginx 下的简单测试

發布時間:2023/12/4 asp.net 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 下的简单测试的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。