51dev.com IT技术开发者社区

51dev.com 技术开发者社区

并发压测

怎么做高并发系统的限流

怎么做高并发系统的限流

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度、提高并发访问量,也是保护数据库、保护系统的有效方式。大型网站一般主要是&l...

Go协程、并发、信道

Go协程、并发、信道

Go通过协程实现并发,协程之间靠信道通信并行其实很好理解,就是同时执行的意思,在某一时间点能够执行多个任务。想达到并行效果,最简单的方式就是借助多线程或多进程,这样才可在同一时刻执行多个任务。单线程是永远无法达到并行状态的。例,"合作并行开发某个项目"并发是在某一时间段内可以同时处理多个任务。我们通常会说程序是并发设计...

Haproxy压测及参数调优

Haproxy压测及参数调优

[root@3b9d411b-0a16-4bc4-acd8-10f71b997c29etc]#ss-s&&free-gTotal:102008(kernel102040)TCP:102003(estab101812,closed56,orphaned77,synrecv0,timewait0/0),po...

golang用通道实现信号量,控制并发个数

golang用通道实现信号量,控制并发个数

 funcmain(){varwgsync.WaitGroupsem:=make(chanstruct{},2)//最多允许2个并发同时执行taskNum:=10fori:=0;i<taskNum;i++{wg.Add(1)gofunc(idint){deferwg.Done()sem<-stru...

数据库事务并发问题,锁机制和对应的4种隔离级别

数据库事务并发问题,锁机制和对应的4种隔离级别

数据库事务并发问题数据库的操作通常为写和读,就是所说的CRUD:增加(Create)、读取(Read)、更新(Update)和删除(Delete)。事务就是一件完整要做的事情。事务是恢复和并发控制的基本单位。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少。事务在关系数据库中,一个事务可以是一条S...

asyncio并发编程

asyncio并发编程

asyncio是python3.4以后引进的用于解决异步io编程的一整套解决方案tornado、gevent、twisted(scrapy、djangochannels)都使用了asyncio讲解asyncio的简单使用:importasyncioimporttimeasyncdefget_html(url):prin...

实现socket并发的几种方法

实现socket并发的几种方法

#使用多进程实现socket聊天并发-server#服务端importsocketfrommultiprocessingimportProcessdefserver(conn,addr):whileTrue:try:msg=conn.recv(1024)conn.send(msg.upper())exceptExcep...

python异步编程之asyncio(百万并发)

python异步编程之asyncio(百万并发

前言:python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率,弥补了python性能方面的短板,如最新的微服务框架japronto,resquestspersecond可达百万级。 python还有一个优势是库(第...

nginx 并发数问题思考:worker_connections,worker_processes与 max clients

nginx 并发数问题思考:worker_connections,worker_processes与 max clients

我相信,很多人都跟我一样,看书都不会太细致也不太认真思考,感觉书中讲的东西都应该是对的,最近读书时我发现以前认为理所当然的东西事实上压根都没有弄明白,最终的结果是,书是别人的,书中的知识也是别人的。   无论是看过的nginx有关书还是网上看到的有关nginx配置说明的文章(http://...

nginx优化 突破十万并发

nginx优化 突破十万并发

nginx优化突破十万并发 一、一般来说nginx配置文件中对优化比较有作用的为以下几项:1.worker_processes8;nginx进程数,建议按照cpu数目来指定,一般为它的倍数(如,2个四核的cpu计为8)。2.worker_cpu_affinity000000010000001000000100...

ES6 Generators并发

ES6 Generators并发

  ES6Generators系列:ES6Generators基本概念深入研究ES6GeneratorsES6Generators的异步应用ES6Generators并发  如果你已经读过这个系列的前三篇文章,那么你肯定对ES6generators非常了解了。希望你能从中有所收获并让generator发挥它真正的作用。...

高并发、大流量网卡调优

并发、大流量网卡调优

周五晚上LVS集群的一台LB由于CPU单核耗尽挂掉了,最后查到原因是网卡调优没有生效,今天查了一下网卡调优的资料,感谢同事higkoo给我讲解了一下这方面的东西,下面是关于我们公司网卡调优的相关知识,欢迎大家共同探讨,让我们的机器跑的更high。1、Broadcom的网卡建议关闭GRO功能1234ethtool&nbs...

Redis分布式队列解决文件并发的问题

Redis分布式队列解决文件并发的问题

1.首先将捕获的异常写到Redis的队列中 1publicclassMyExceptionAttribute:HandleErrorAttribute2{3publicstaticIRedisClientsManagerclientManager=newPooledRedisClientManager(new...

jmeter自动生成测绘报告并发送邮件

jmeter自动生成测绘报告并发送邮件

步骤:  1.安装ant,添加到环境变量(windows是将bin目录添加到path。cmd命令输入ant-v查看版本号)  (mac:brewinstallant      ant–version)  ant的作用是打包成一个.war包  2.jmeter的目录 ....你的目录/apache-...

集合线程安全问题:第一章:集合类不安全之并发修改异常

集合线程安全问题:第一章:集合类不安全之并发修改异常

直接上ArrayList线程不安全代码:packagecom.javaliao.backstage;importjava.util.ArrayList;importjava.util.UUID;publicclassDemo{publicstaticvoidmain(String[]args){ListarrayLis...