主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
本教程运行环境:linux7.3系统,Dell G3电脑。
一个高并发的概念1.1高并发的概念高并发是互联网分布式系统架构设计必须考虑的因素之一。通常意味着通过设计,系统可以同时并行处理许多请求。
高并发是系统运行过程中遇到的一种“短时间内大量操作请求”的情况,主要发生在web系统中通过大量访问收到大量请求时(例如12306的抢票情况;双十一活动)。这种情况的发生会导致系统在此期间执行大量的操作,比如请求资源、数据库操作等。
1.2高并发相关指标响应时间(Response Time)系统响应请求的时间。例如,系统处理一个HTTP请求需要200ms,这是系统的响应时间吞吐量,单位时间内处理的请求数,查询速率QPS(每秒查询数)和每秒响应的请求数。在互联网领域,这个指标和吞吐量区分了并发用户不太明显,承载正常系统功能的用户数量。比如一个即时通讯系统,同时在线流量在一定程度上代表了系统的并发用户数。1.3在高并发优化方面,单个进程中打开文件的最大数量是有限的。
TCP参数方面
IO事件分配机制
第二,提高系统的并发性。2.1纵向扩展提高了单机的处理能力,增强了单机的硬件性能。比如增加32核等CPU核数,升级10gb等更好的网卡,升级SSD等更好的硬盘,扩展2T等硬盘容量,扩展128G等系统内存。
提高单机架构的性能,比如使用缓存减少IO次数,异步增加单业务吞吐量,无锁数据结构减少响应时间。
2.2横向扩展增加服务器数量,使系统性能可以线性扩展。2.3常见的互联网分层架构(1)客户端层:典型的调用方是浏览器或手机APP。
(2)反向代理层:系统入口,反向代理
(3)站点应用层:实现核心应用逻辑,返回html或json。
(4)服务层:如果实现了服务,就有这一层。
(5)数据缓存层:缓存加速对存储的访问。
(6)数据-数据库层:数据库固化数据存储。
2.4水平扩展架构反向代理层的水平扩展
当nginx成为瓶颈时,只要增加服务器数量,增加nginx服务的部署,增加一个外网ip,就可以扩展反向代理层的性能,理论上可以实现无限并发。
通过“dns轮询”:dns-server为一个域名配置了多个解析IP,每次DNS解析请求访问dns-server时,都会轮询返回这些IP。
场地的水平延伸
是通过“nginx”实现的。您可以通过修改nginx.conf来设置多个web后端
当web后端成为瓶颈时,只要增加服务器数量,增加新web服务的部署,在nginx配置中配置新的web后端,就可以扩展站点层的性能,理论上可以实现无限并发。
服务层的水平延伸
通过“服务连接池”
当站点通过RPC-client调用下游服务层RPC-server时,RPC-client中的连接池将与下游服务建立多个连接。当服务成为瓶颈时,只有增加服务器数量,增加新的服务部署,在RPC-client建立新的下游服务连接,才能扩展服务层的性能,理论上可以实现无限并发。
数据层的水平扩展
数据层(缓存、数据库)涉及到数据的横向扩展,将原本存储在一台服务器上的数据(缓存、数据库)横向拆分到不同的服务器上,达到扩展系统性能的目的。
存储一定范围的数据。
User0库,存储uid范围1kw
User1库,存储uid范围1kw-2kw。
按哈希级别拆分
User0库,它甚至存储uid数据
User1库,存储奇数uid数据
三台单机Linux服务器升级并发3.1 iptables相关关闭iptables防火墙,防止内核加载iptables模块。
单个进程中打开文件的最大数量是有限的(单个进程中打开文件的默认最大数量是1024)
ulimit–n 65535修改了Linux系统中用户打开文件数量的软限制和硬限制。
vim/etc/security/limits . conf * soft nofile 65535 # & # 39;*'修改所有用户的限制* hard nofile 65535#用户读取/etc/security/limits.conf文件vim/etc/PAM . d/loginsessionrequired/lib/security/PAM _ limits . so 3.2内核TCP参数TIME_WAIT状态登录后,
TCP断开后,会保持TIME_WAIT状态,等待一定时间,然后释放端口。当并发请求过多时,会有大量连接处于TIME_WAIT状态。如果不能及时断开,就会占用大量的端口资源和服务器资源。
#检查TIME_WAIT状态。连接netstat-n | grep TCP | greptime _ wait | WC-l # vim/etc/sysctl . conf net . IP v4 . TCP _ SYNCookies = 1 #以打开sync ookies。当SYN等待队列溢出时,启用cookies进行处理,可以防止少量SYN攻击。默认值为0,这意味着它是关闭的。Net.ipv4.tcp_tw_reuse= 1 #表示重用已打开。允许时间等待套接字重新用于新的TCP连接。默认值为0,表示关闭;Net.ipv4.tcp_tw_recycle= 1 #表示打开tcp连接中TIME-WAITsockets的快速回收,默认值为0,表示关闭;Net.ipv4.tcp_fin_TIMEOUT= 30 #修改系统默认超时时间。推荐:《linux视频教程》以上是Linux高并发是什么意思的详细内容。请多关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- 在Linux上操作vi编辑器(Linux上的vi编辑器命令)
- Mondoze:住宅IP/原生IP/IDC IP,VPS低至$8.33/马来西亚服务器/AS152742/11.11促销
- torchbyte 罗马尼亚 VPS 起价为 20 美元/年,AMD Ryzen9+ NVMe 硬盘,免费 DDoS 防护
- zlidc(智联IDC):韩国原生IP云服务器,35.9美元/季度,4核/4G内存/50G SSD/300M优质网络@2.5T月流量
- 椰草云双11活动:香港云服务器81元/年,香港实体服务器199元/月(香港云服务商)
本文由主机参考刊发,转载请注明:linux高并发是什么意思(linux高并发服务器开发) https://zhujicankao.com/87007.html
评论前必须登录!
注册