
性能优化
xulong5000
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
net core调用java API很慢的问题处理
NET用HttpClient 调用java-API性能问题原创 2022-09-28 10:31:03 · 837 阅读 · 0 评论 -
[C#技术] DataSet(DataTable)轻松的通过Sum、Aver、Count等统计出相关结果
本文介绍一个简单的方法,不需要逐条记录进行计算就可以轻松的获得DataTable中的记录统计结果。这个简单的方法就是调用功能强大的DataTable的函数Compute。 一、调用说明(仅以C#为例,下同): public object Compute(string strExpression,stringstrFilter) 参数: strExpression:要计算的表达式字符串,基本上类似于Sql ******中的统计表达式 strFilte...原创 2021-02-05 12:40:59 · 1508 阅读 · 0 评论 -
C# Stopwatch计时器 记录方法执行时间
1:在写服务或者API接口时,经常需要了解接口操作性能问题,需要实时观察每一个接口的动态执行时间,这样可以第一时间了解到服务的高可用性,有接口耗时比较长就可以进行优化。所以需要使用到 Stopwatch实例化一个Stopwatch的方法。一:Stopwatch stopWatch = new Stopwatch();然后 stopWatch.Start();二:直接Stopwatch watch1 = Stopwatch.StartNew();这样等已经实例化并且启动...原创 2020-06-12 11:24:09 · 956 阅读 · 0 评论 -
MVC ---- 用NPOI导入 EXCEL数据 到数据库
一:需要引用NPOI的dll ,可以直接在Nuget上直接下载,步骤如下:二:引用到 NPOI后,需要前端代码:这个是cshtml文件里面的全部代码。效果如下图:注意 js里面有如下一段代码 var data = new FormData(document.forms[0]); 是获取文件的流@{ ViewBag.Title = "导入加盟信息";}<st...原创 2020-01-08 17:49:04 · 1337 阅读 · 0 评论 -
使用SqlBulkCopy进行批量插入数据时踩过的坑
之前一直都没用过SqlBulkCopy关键字进行数据插入,更没了解过。事因:因业务需要在数据表中添加两列,然后将数据插入进表中一:“SqlBulkCopy不是根据表的ColumnName来匹配的,而是根据ColumnIndex匹配,也就是说你的表 字段必须跟数据库的表字段完全一致(Index的排序要跟数据表的一样)。就算你该字段不打算给他插入值,也要建个DataColumn。包括自增I...原创 2020-01-08 14:55:58 · 4330 阅读 · 0 评论 -
SQL执行中占CPU资源最多的前10条查询
-- 前20条查询次数最多的sql语句select top 20total_worker_time/execution_count as avg_cpu_cost,plan_handle,execution_count,(select substring(text,statement_start_offset/2+1,(case when statement_end_offset=-1...原创 2019-11-20 11:37:36 · 506 阅读 · 0 评论 -
Redis 请务必注意 Redis 安全配置,否则将导致轻松被入侵
一、前言前段时间,在做内网影响程度评估的时候写了扫描利用小脚本, 扫描后统计发现,内网中60%开放了redis6379端口的主机处于可以被利用的危险状态,因为都是一些默认配置造成的 考虑到本社区大部分开发者都会使用redis,特此分享下以便大家可以对自己公司的内网进行一个排查。二、漏洞介绍Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将 Redis 服务暴露到公...原创 2019-10-29 17:52:45 · 335 阅读 · 0 评论 -
SQL Server创建复合索引时,复合索引列顺序对查询的性能影响
说说复合索引写索引的博客太多了,一直不想动手写,有一下两个原因:一是觉得有炒剩饭的嫌疑,有兄弟曾说:索引吗,只要在查询条件上建索引就行了,真的可以这么暴力吗?二来觉得,索引是个非常大的话题,很难概括出所有的情况,你不整出点新意来,倒是有抄袭照搬的嫌疑既然写了,就写一点稍微不一样的东西出来,好了,废话打住,/* 20160814备注:今天发现一个类似的文章:http://ww...原创 2019-10-18 12:21:29 · 348 阅读 · 0 评论 -
论数据库索引的重要性
开发人员一般对数据库的研究都不是太深,很多情况下都会只关心业务层的逻辑跟代码的性能优化, 尤其是初学者,对数据库的研究都比较有限。例如:做一个简单的查询或者修改 功能时、本来是一段非常简单的sql语句。update CouponsInfoDN set ParentResvNo='FCA77A15-771D-49D1-A7D2-F9E0A0D71DD1', state=0, ModifyU...原创 2019-10-18 09:39:47 · 398 阅读 · 0 评论 -
在并发数据连接超时问题
最近遇到一个高并发的问题,当初的需求优惠券券号是按照 日期 DateTime.Now.ToString("yyyyMMddHHmmss") + 最大订单号+1 的方式去新增券号的。由于业务里面还涉及到多张表操作,用了事务。第一版上线: 发现 很多订单号重复,找到原因是因为 在并发量高的时候,从数据库获取最大订单号时会产生并发,最新的单号没有新增到数据库,另一个线程已经从数据库查询到最大...原创 2019-10-17 10:41:58 · 1528 阅读 · 0 评论 -
C#性能优化总结
1. C#语言方面1.1 垃圾回收垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。1.1.1 避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形。1.1.1.1 避免循环创建对象 ★ 如果对象并不会随每次循环而改变状态,那么在循环中反复创建对象将带来性能损耗。...原创 2019-09-17 17:29:26 · 614 阅读 · 0 评论 -
系统吞吐量(TPS)、用户并发量、性能测试概念和公式
PS:下面是性能测试的主要概念和计算公式,记录下:一.系统吞度量要素:一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间QPS(TPS):每秒钟request/事务...原创 2019-08-14 14:36:25 · 330 阅读 · 0 评论 -
IOC和DI(控制反转和依赖注入)通俗解析
控制反转 跟依赖注入,这两个概念很多人搞不清楚,越研究越模糊,研究了之后不知道在哪里用?一:什么是控制反转IoC——Inversion of Control 控制反转DI——Dependency Injection 依赖注入1:控制反转 不是一种技术,是一种思想2:依赖注入是 控制反转的 一种具体实现方式,要想理解上面两个概念,就必须搞清楚如下的问题:参与者都...原创 2019-08-08 18:06:42 · 287 阅读 · 0 评论 -
多线程代码实现二
我们在执行多线程的情况下,先根据信息的特性或主键 获取信息的唯一性字段,然后分组,例如我们用会员信息为例:我们需要把4000万的会员信息进行标签处理,给会员打上不同特性的标签,我们需要用多线程去处理, 首先我们需要获取会员数量,然后对会员表中的主键 进去分组,下面是每一组200个会员然后一次执行5组,也就是1000会员。thread:一次执行的线程数量deci...原创 2019-06-27 17:58:21 · 282 阅读 · 0 评论 -
多线程代码实现(一)
//dll里面的内容 public class PushStreamContent : HttpContent { public PushStreamContent(Action<Stream, HttpContent, TransportContext> onStreamAvailable); } 有2种调用方式 第1种--使用...原创 2019-06-27 16:26:18 · 2038 阅读 · 0 评论 -
API接口性能优化总结
在调用WCF ,API , Core2.1或者其他接口时,总会遇到性能瓶颈,在订单量不断的新增的情况下,产生高并发。出现服务器CPU 100% 或者是内存100% 其根本原因 可能是 API接口调用频率太高。无法释放内存产生的。在这种情况下,如何找到并发的原因:一:检查sql数据查询或者是非查询功能的性能。查看sql语句的执行时间是否超时,优化sql语句二:查看接口中是否...原创 2019-06-17 11:20:14 · 1173 阅读 · 0 评论 -
批量添加数据的方法
在一些大量数据导入数据库的情况下使用,性能提高很大,需要注意几点一:方法的参数 是一个datatable。这个表的字段结构必须要实际库中表的结构一致,否则添加失败。二:需要指定表名。tablename就是表名///<summary>///批量插入文件流水数据///</summary>///&l...原创 2019-05-15 14:31:15 · 1536 阅读 · 0 评论