- 博客(442)
- 资源 (27)
- 收藏
- 关注
原创 内存优化总结:ptmalloc、tcmalloc和jemalloc
概述需求系统的物理内存是有限的,而对内存的需求是变化的, 程序的动态性越强,内存管理就越重要,选择合适的内存管理算法会带来明显的性能提升。比如nginx, 它在每个连接accept后会malloc一块内存,作为整个连接生命周期内的内存池。 当HTTP请求到达的时候,又会malloc一块当前请求阶段的内存池, 因此对malloc的分配速度有一定的依赖关系。(而apache的内存池是有父子关...
2018-09-19 15:24:52 356
原创 JMeter做http接口功能测试
JMeter对各种类型接口的测试默认做接口测试前,已经给出明确的接口文档(如,http://test.nnzhp.cn/wiki/index.php?doc-view-59);本地配好了JMeter 3.x的运行环境;打开JMeter,添加一个线程组和该线程组的查看结果树。以下的几种接口请求我们都在这个线程组中添加和运行。如果你的JMeter返回数据是乱码,解决办法是,在JMete...
2018-09-19 10:23:42 279
原创 DotNet 资源大全(下)
HTML 和 CSS(HTML and CSS) AngleSharp:支持构建完整的 HTML5 DOM 和 CSS3 模型。 CsQuery:jQuery 风格的HTML5 解析器,可与 DOM 交互。 dotless:ruby Less CSS 库的 .NET 移植版本。http://www.dotlesscss.org ExC...
2018-07-12 10:18:31 372
原创 DotNet 资源大全(上)
API 框架 NancyFx:轻量、用于构建 HTTP 基础服务的非正式(low-ceremony)框架,基于.Net 及 Mono 平台。 ASP.NET WebAPI:快捷创建 HTTP 服务的框架,可以广泛用于多种不同的客户端,包括浏览器和移动设备。 ServiceStack :架构缜密、速度飞快、令人愉悦的 web 服...
2018-07-12 10:17:28 483
原创 互联网常见架构接口压测性能分析及调优手段建议
常见的互联网架构中,一般都能看到spring+mybatis+mysql+redis搭配的身影,在我所服务的公司亦是如此。一般来说,应用内部的接口都是直接调用的,所谓的面向接口编程,应用间的调用直接调或者通过类似dubbo之类的服务框架来执行,数据格式往往采用json,即统一也方便各数据间做转换和取值,缓存一般使用redis或memcached,存储一些对象或json格式的字符串。对外提供的接...
2018-06-26 16:42:14 164
原创 C#Make自动化构建-简介
. Cake是什么?Cake是C# Make的缩写,是一个基于C# DSL的自动化构建系统。它可以用来编译代码,复制文件以及文件夹,运行单元测试,压缩文件以及构建Nuget包等等。熟悉大名鼎鼎的Make的小伙伴,应该已经知道Cake大致是个什么样的工具了,Cake具有以下几个特点:方便编写:使用基于C#的DSL,非常易于编写自动化的脚本。跨平台: 基于Roslyn和Mono来编...
2018-05-25 17:10:42 477
原创 从零开始构建MSBuild C#项目文件
准备条件一个好用的文本编辑器,例如Atom或者Sublime Text。MSBuild命令行工具。如果已经安装了Visual Studio的话,应该可以在开始菜单中找到类似Visual Studio 2015的MSBuild命令提示符 这样的项目。创建程序首先打开MSBuild命令提示符,然后切换到你想要创建项目的文件夹,例如我的文档或者桌面。然后,输入md HelloWo...
2018-05-25 16:08:44 416
原创 asp.net mvc处理css和js版本问题
当服务的修改了js和css内容后,发布到IIS服务器上,总是导致客户端内容显示不正确,原因是客户端存在缓存,还是加载的原来的js和css问题。 在css或js后面添加版本号,例如:<script src="1.js?v=1.0"></script> 当版本号改变时,客户端会重新读取新的文件,问题解决了。 但同时也带了另一个问题,每次修...
2018-05-24 16:40:18 731
原创 nginx+lua实现简单的waf网页防火墙功能
安装LuaJIThttp://luajit.org/download/LuaJIT-2.0.4.tar.gztar xf LuaJIT-2.0.4.tar.gzcd LuaJIT-2.0.4make && make install 即可下载ngx_devel_kithttps://codeload.github.com/simpl/ngx_devel_ki...
2018-05-21 15:09:14 442
原创 nginx防止DDOS攻击配置
防御DDOS是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈。DDOS的特点是分布式,针对带宽和服务攻击,也就是四层流量攻击和七层应用攻击,相应的防御瓶颈四层在带宽,七层的多在架构的吞吐量。对于七层的应用攻击,我们还是可以做一些配置来防御的,例如前端是Nginx,主要使用nginx的http_limit_conn和http_limit_req模块来防御。ngx_http_li...
2018-05-21 14:54:28 216
原创 nginx防止DDOS攻击配置(2)
我们用的高防服务器只防流量攻击不防CC,现在的攻击多数都是混合型的,而且CC攻击很多,防CC只能自己搞了,按照第一篇的配置,在实际的使用中效果并不理想。限制每秒钟的请求数和ip连接数,属于杀敌一千自损八百的做法。是可以防小规模的cc攻击,但是不够灵活,限制严了,误杀率很大;限制少了,当攻击的ip量达到一定规模的时候,传递到后端的请求还是非常多,导致php撑不住挂掉。这里在上一篇的基础上详细介绍...
2018-05-21 14:43:22 712
原创 Logstash详解之——filter模块
Logstash三个组件的第二个组件,也是真个Logstash工具中最复杂,最蛋疼的一个组件,当然,也是最有作用的一个组件。1、grok插件 grok插件有非常强大的功能,他能匹配一切数据,但是他的性能和对资源的损耗同样让人诟病。 filter{ grok{ #只说一个match属性,他的作用是从message 字段中吧时间给抠出来,并且赋值给...
2018-03-30 10:07:24 888
原创 Logstash详解之——output模块
Logstash的output模块,相比于input模块来说是一个输出模块,output模块集成了大量的输出插件,可以输出到指定文件,也可输出到指定的网络端口,当然也可以输出数据到ES.在这里我只介绍如何输出到ES,至于如何输出到端口和指定文件,有很多的文档资料可查找.elasticsearch{ hosts=>["172.132.12.3:9200"] a...
2018-03-30 09:57:17 1331
原创 Logstash详解之——input模块
Logstash由三个组件构造成,分别是input、filter以及output。我们可以吧Logstash三个组件的工作流理解为:input收集数据,filter处理数据,output输出数据。至于怎么收集、去哪收集、怎么处理、处理什么、怎么发生以及发送到哪等等一些列的问题就是我们接下啦要讨论的一个重点。我们今天先讨论input组件的功能和基本插件。前面我们意见介绍过了,input组件是L...
2018-03-30 09:51:50 312
原创 使用logstash的logstash-input-kafka插件读取kafka中的数据
logstash版本为5.5.3,kafka版本为2.11,此版本默认内置了kafka插件,可直接配置使用,不需要重新安装插件;注意logstash5.x版本前后配置不太一样,注意甄别,必要时可去elasticsearch官网查看最新版配置参数的变化,例如logstash5.x版本以前kafka插件配置的是zookeeper地址,5.x以后配置的是kafka实例地址。input{ ...
2018-03-30 09:42:17 2590
原创 Kafka 入门 and kafka+logstash 实战应用
一、基础理论 这块是整个kafka的核心无论你是先操作在来看还是先看在操作都需要多看几遍。 首先来了解一下Kafka所使用的基本术语 Topic Kafka将消息种子(Feed)分门别类 每一类的消息称之为话题(Topic).Producer 发布消息的对象称之为话题生产者(Kafka topic producer)Consumer 订阅消息并处理发布的消息的...
2018-03-26 16:05:14 286
原创 数据库主键到底是用自增长(INT)好还是UUID好
之前在参加长沙互联网大会的时候问过微信DBA一个问题,数据库主键到底是用自增长好还是UUID好?DBA回答:自增长好,因为自增长有占用空间小、索引快等特点。但这一定是最好的吗?最近在做一个项目刚好也遇到了同样纠结的问题,其实这个问题我已经查过很多资料也问过很多人了,最后总结归纳下,仅供大家参考。其实针对使用自增长还是UUID,大家讨论最多的就是速度和存储空间,这里我加入了安全性和分布式,具体对...
2018-03-09 17:02:19 669
原创 分布式系统调用链监控
分布式系统调用链监控应用架构由集中式向分布式演进后,整个调用关系变得复杂。分布式架构由复杂且较大规模集群构成,各个应用之间相当独立,可能由不同团队、不同语言实现。系统一个完整的调用过程可能横跨多个服务及数据中心。复杂的调用导致系统出问题后难以定位问题。无法准确知道整体系统性能及运行情况。全链路性能监控一个请求完整的调用链可能如下图,经过多个系统服务,调用关系复...
2018-02-22 14:36:21 538
原创 在IDEA中实战Git
工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组长小张,组员小袁 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程Git仓库上获取项目源码 场景三:小袁修改了部分源码,提交到远程仓库 场景四:小张从远程仓库获取小袁的提交 场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发 场景...
2018-02-01 16:40:01 72
原创 如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件
最近初学Git,而且在使用的IDE是IntelliJ IDEA,发现IDEA在提交项目到本地仓库的时候,会把.idea文件夹中的内容也提交上去,这里面放的是一些项目的配置信息,包括历史记录,版本控制信息等。可以不传到Git上面去。 这个时候就需要编写.gitignore文件来忽略提交这些文件。在IDEA中有一个插件.ignore可以帮我们做这件事。先来看下如何安装。点击File-&g...
2018-02-01 15:54:30 225
原创 TOKEN+签名验证
首先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候,会面临着许多的安全性问题,例如:请求来源(身份)是否合法?请求参数被篡改?请求的唯一性(不可复制),防止请求被恶意攻击为了保证数据在通信时的安全性,我们可以采用TOKEN+参数签名的方式来进行相关验证。...
2018-02-01 13:24:40 313
原创 git学习笔记--git图像化界面GUI的使用
一、 基础内容1、git是一个版本控制软件,与svn类似,特点是分布式管理,不需要中间总的服务器,可以增加很多分支。2、windows下的git叫msysgit,下载地址https://git-for-windows.github.io/或者https://git-scm.com/download/win3、git只是终端操作,可以使用一个图形化管理界面,有了图像化界面...
2018-01-26 17:39:36 178
原创 C# LINQ to SQL
1、Concat(连接不同的集合不会自动过滤相同项。会延迟计算)var q = (from c in db.Customers select c.Phone ).Concat( from e in db.Employees select e.HomePhone); var q = (fro...
2017-07-28 12:48:13 98
原创 MongodDB client connect Server with Replication set and auth
写在这里,留作记录: 1. 利用字符串连接server:"mongodb://Admin:admin@xxx01:27017,xxx02:27017,xxx03:27017/admin?connect=replicaSet&replicaSet=rs0"; 2.利用MongoUrlBuilder连接server: MongoUr...
2017-07-03 16:50:41 119
原创 IIS 优化
通过对IIS7的配置进行优化,调整IIS7应用池的队列长度,请求数限制,TCPIP连接数等方面,从而使WEB服务器的性能得以提升,保证WEB访问的访问流畅。 IIS7.5是微软推出的最新平台IIS,性能也较以前有很大的提升,但是默认的设置配不适合很大的请求。但是我们可以根据实际的需要进行IIS调整,使其性能更佳,支持同时10万个请求。 以下方案,通过对IIS7的配...
2017-06-28 21:57:17 145
原创 IIS初始化(预加载),解决第一次访问慢,程序池被回收问题
读在最前面: 1、本文以IIS8,Windows Server 2012R2做为案例 2、IIS8 运行在 Windows Server 2012 and Windows 8 版本以上的平台上。 3、IIS中应用程序池和网站是单独存在的,但是网站运行必须建立在对应的应用程序池启动的前提下。 4、默认情况下,应用程序池在不活动情况下(无请求操作),一段时间后,将被IIS自动...
2017-06-28 21:39:07 737
原创 查看SQLServer最耗资源时间的SQL语句
1.找出执行时间最长的10条SQL(适用于SQL SERVER 2005及其以上版本)SELECT top 10 (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapsed_time/1000 N'总花费时间ms' ,total_worker_time/1000 N'所用的...
2017-06-09 13:51:25 203
原创 使用C# 和Consul进行分布式系统协调
随着大数据时代的到来,分布式是解决大数据问题的一个主要手段,随着越来越多的分布式的服务,如何在分布式的系统中对这些服务做协调变成了一个很棘手的问题。今天我们就来看看如何使用C# ,利用开源对分布式服务做协调。在对分布式的应用做协调的时候,主要会碰到以下的应用场景:业务发现(service discovery)找到分布式系统中存在那些可用的服务和节点名字服务 (name se...
2017-05-11 10:41:18 594
原创 查看IIS上面的每个网站分别用了多少内存
IS服务器上面运行了多个网站,想查看每个网站具体使用了系统多少内存 请参考下面操作: 在IIS服务器上面查看内存使用情况 然后根据PID来查看所对应的具体是哪个网站 如图 ...
2017-05-05 12:57:50 1399
原创 ASP.NET WebAPI HTTPS
参照文档 http://southworks.com/blog/2014/06/16/enabling-ssl-client-certificates-in-asp-net-web-api/ 第一步 创建受信任的根证书颁发机构 makecert.exe -n "CN=Development CA" -r -sv DevelopmentCA.pvk Development...
2017-03-08 15:39:49 1046
原创 基于 EntityFramework 的数据库主从读写分离服务插件
1. 版本信息和源码1.1 版本信息v1.01 beta(2015-04-07),基于 EF 6.1 开发,支持 EF 6.1 之后的所有 EF6 版本。 1.2 开放源码地址https://github.com/cjw0511/NDF.Infrastructure关于该 EF 数据库主从读写分离服务核心源码位于文件夹:src\ NDF.Data.EntityFramew...
2017-03-08 15:06:05 129
原创 Asp.net WebApi版本控制
关web api的版本控制网上有很多,如Web API 版本控制的几种方式 Web API 版本化的介绍 但是具体的code并不多,或者说可以run的demo 不多。版本控制如果项目一开始还好做关键是很多项目都在中后期才引入版本控制。如:如这里的ValuesController先前是没有版本控制的,可能项目运行一段时间后才需要增加版本控制,不得影响已有的使用哦。版本...
2017-03-06 10:34:38 123
原创 MySQL、Oracle和SQL Server的分页查询语句
假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql、Oracle和SQL Server分页查询student表。 1、Mysql的分页查询SELECT * FROM student LIMIT (PageNo - 1) * PageSize,PageSize; 理解:(Limit n,m) =>从第n行开始取m条记录...
2017-01-06 14:10:34 100
原创 EF6(CodeFirst)+MySql开发
如题,本文是使用EntityFramework6框架的感悟(爬坑泪水),以飨同道。自从学会了EF的基本使用,都是在别人开发好了项目框架上做CRUD,很多细节没有体会到,这次正好有个机会亲自搭建项目框架,深入体会个中奥妙。配置:win10+vs2015community+.NetFramework4.5.2+MySql5.6一、基本操作1、创建控制台项目:CodeFirstDemo。...
2017-01-06 14:08:24 513
原创 SQL2K,DTC错误:"该伙伴事务管理器已经禁止了它对远程/网络事务的支持"的解决办法...
近日在用wf做数据持久化时发现:该伙伴事务管理器已经禁止了它对远程/网络事务的支持。 (异常来自 HRESULT:0x8004D025)的错误。我是通过网络访问同事的sqlserver2000 时出现如上错误的,并且发生不能进行数据的持久化,找了些资料,发现是这个问题,换成本地sql就可以了。还是贴一下问题的原因和解决办法:在分布式应用程序中,不可避免地会经常使用到事务控制。事务有一...
2017-01-05 10:39:12 762
原创 夸数据库业务事务处理-配置msdtc
配置msdtc需要分别配置数据库服务器和开发机,因为只有两个机器都配置正确了,分布式事务才不会报乌七八糟的错误。如果数据库服务器和开发机是同一台机器,那就不用看本文了,因为不存在分布式事务的问题。 数据库服务器和开发机中配置msdtc的步骤是一样的,下面列出配置步骤。 1、防火墙。如果防火墙是关的,那就不用再设置了。如果防火墙是开的,那么确保msdtc.exe是在它的例...
2017-01-05 10:37:43 140
原创 C#中跨数据库增删改的事务控制
在程序的开发过程中,对数据库的增删改通常要用到事务,用来实现的全部更新和全部回滚。单数据库还比较好做,如果遇到同时操作多个数据库增删改,可以用下面的方法 一。TransactionScope类 TransactionScope类是framework2.0 新增的一个类,在System.Transactions命名空间中,使用时必须先添加System.Transactions引用;...
2017-01-04 13:25:55 163
原创 .Net下RabbitMQ的使用(9) -- 在WCF下使用RabbitMQ
RabbitMQ .net客户端通过自定义的Binding和Transport Binding Element扩展了WCF,使之能够在AMQP协议上使用。在WCF中,Binding作为一系列Binding Elements的栈,控制了消息传输的大部分方面如安全,消息格式,事务等等。而Binding中的Transport Binding Element传输绑定元素,则指定了服务端和客户端之间的通...
2016-12-19 10:42:26 143
原创 .Net下RabbitMQ的使用(8) -- 远程过程调用RPC
RPC是在计算中是一种常见的模式,是通常我要用消息队列来实现RPC有3个关键点:1. 服务的寻址2. 消息的接收3. 消息的关联 在RabbitMQ的.net客户端里,提供了2个类:SimpleRpcClient 和 SimpleRpcServer 来让我们方便的开发RPC应用。因为RabbitMQ的RPC一定是基于队列的,所以在客户端和服务端都需要要一个各自的队列,客...
2016-12-19 10:42:13 227
原创 .Net下RabbitMQ的使用(6) -- 持久化
消息的持久化是消息队列必备的功能之一。在这篇文章中,就介绍一下RabbitMQ的持久化机制,和它的使用。 队列的持久化在前几篇的例子中,我们常常看到如下定义queue的方法:channel.QueueDeclare("Q1", false, false, false, null);方法的第四的参数autoDelete,一般都会输入false。文档描述这个参数如果是true的...
2016-12-19 10:41:58 167
Go语言实战高清
2018-01-30
精通Nginx.pdf
2018-01-30
自己写的简单OA
2016-05-16
Flex Java PureMVC BlazeDS做的例子
2008-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人