php 并发 100 压测,简单PHP把握站点并发数
一般来说,一个项目中老是会有一些较难处理惩罚的营业,比如营业错杂花样繁多的搜刮,应用搜刮体系如sphinx,lucence等来处理惩罚的话,数据源的若是变更过快(如顶、踩、浏览数之类),则起推荐数据的频率就较难衡量,别的无确搜刮或排序。所以一般景象下的做法是经由过程DB进行搜刮,并且除了尽量将营业分化到法度层面外,还会在DB前加一层cache。然则如许做也有不少已知的弊病:
1、实际上很多营业无法放到通俗的PHP中处理惩罚,如一些较错杂的排序、筛选,经由过程通俗的PHP来实现的话效力还不如MYSQL。
2、cache的射中率也不好包管,希罕是对一些应用关键词进行查询的营业,关键词变更太多。
若是碰到恶意刷的话,DB办事器轻易直接挂掉,是以我们可以在法度层面上加一层限制器,限制并发数,该限制器具备以下特点:
1、高效(空话么,不然直接刷限制器就刷爆了)。如今是应用memcache进行原子操纵计数,可以扩大成应用其他办法。
2、正确到action层。可以零丁限制单个页面。
3、便利。见仁见智吧
4、本钱低廉。包含研发本钱与硬件本钱。
按照压测,本来只能100并发的搜刮功能,限制100后,压测800成果正常。
代码如下:
/
搜刮
/
public function search(){
//增长计数器功能,跨越次数则返回体系繁忙
¥viewlimiter = Library::load(viewlimiter);
//接见限制器的名称,请用controller+action,尽量单个页面对峙独一
¥limitName = search_search;
//最多同时接见数
¥limit = 100;
//若是跨越数量则直接返回
if(!¥viewlimiter->check(¥limitName, ¥limit)) {
ajaxOutput(0, ¥this->lang->line(multi_search_limit));
}
/----错杂变态的营业逻辑-----/
¥xxxModel->search(¥params);
}
//end func
?>
扩大话题:
1、若是该营业被刷,可能导致正常用户无法查看内容。 -- 这个题目要解决只能是从体系层面去操纵,可见这边:http://johnsteven.blog.51cto.com/2523007/818209
2、限制数好能与缓存射中率相连络,必然局限内主动变革限制数,进步限制的精准度。 -- 这个后期可以进行研究,与缓存类相连络
3、按照办事器负载进步履态把握。 -- 涉及到底层及办事器权限,研究本钱较高,有爱好的话可以研究。
注:
本文只申明思路,具体代码因为一些原因临时不开放文艺不是炫耀,不是花哨空洞的文字堆砌,不是一张又一张的逆光照片,不是将旅行的意义转化为名牌包和明信片的物质展示;很多时候它甚至完全不美——它嘶吼、扭曲,它会痛苦地抽搐,它常常无言地沉默。——艾小柯《文艺是一种信仰》
php 并发 100 压测,简单PHP把握站点并发数相关推荐
- 基准测试工具(压测工具):wrk---高并发、损耗低,安装简单 (一)
基准测试工具:Wrk初识 最近和同事聊起常用的一些压测工具,谈到了Apache ab.阿里云的PTS.Jmeter.Locust以及wrk各自的一些优缺点和适用的场景类型. 这篇博客,简单介绍下H ...
- JMeter压力测试:单接口压测和多场景混合并发
单接口并发压测 首先介绍下单接口压测,使用Jmeter的线程组进行设置: 1.线程数:并发用户数 2.Ramp-Up Period(in seconds):运行的时间 3.循环次数:线程运行的次数 一 ...
- Jmeter多线程并发和压测结果分析
一.多线程并发 1. 线程组简介: (1). 线程数: 配置虚拟用户数量 (2). Ramp-Up时间:设置的虚拟用户数需要多长时间全部启动,如果线程数为10,准备时长为2,那么需要2秒钟启动10个线 ...
- springboot 压测 50并发 线程等待_线程池+CountDownLatch——高并发就是这么简单
今天和大家分享的是:在开发服务端API时候,如何合理的运用线程池+CountDownLatch来保证API的高并发访问. 首先,作为Java开发的同学来说,java.util.concurrent并发 ...
- 【腾讯优测干货分享】从压测工具谈并发、压力、吞吐量
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/580d914e07b7fc1c26a0cf7c 前言 随着部门业务的拓展,我们有 ...
- jmeter 高并发测试报告_Windows下JMeter分布式压测环境搭建
JMeter是Apache组织开发的开源项目,设计之初用于性能测试,同时它在实现对各种接口的调用方面做得比较成熟,因此,常被用于接口功能测试和性能测试.它能够很好的支持各种常见接口,如HTTP(S). ...
- 并发模式与 RPS 模式之争,性能压测领域的星球大战
Photo by Daniel Cheung on Unsplash 本文是 <如何做好性能压测>系列专题分享的第四期,该专题将从性能压测的设计.实现.执行.监控.问题定位和分析.应用场景 ...
- 早知道早幸福——从压测工具谈并发、压力、吞吐量
目前腾讯WeTest服务器性能测试已经正式对外开放, 点击 链接:http://wetest.qq.com/gaps/ 立即体验! 导语 这篇文章其实憋了很久,最初仅仅是对吞吐量计算的个人兴趣研究 ...
- jmeter压测_简单七步,快速入门 JMeter原生压测
导入本地的 JMeter 原生脚本,即可快速发起一次压测. 前提条件 JMeter 脚本需要在本地调试成功. 请同时上传依赖的 CSV 或者 JAR 文件.CSV 文件的 File Name 只需要文 ...
最新文章
- R语言构建文本分类模型并使用LIME进行模型解释实战:文本数据预处理、构建词袋模型、构建xgboost文本分类模型、基于文本训练数据以及模型构建LIME解释器解释多个测试语料的预测结果并可视化
- 「吐血」我把大学4年、研究生3年的全部学习资源都分享在这里了
- Keras.layers各种层介绍,网络层、卷积层、池化层 等
- Linux中,文件创建的时间是怎么保存的?
- 蓝桥杯真题训练 2019.4题
- wxpython使用简介_wxpython简介
- 作为一个新晋测试经理,在软件测试计划之前你必须知道的10件事
- PHP学习总结(3)——PHP入门篇之PHP的echo语句
- Oracle管理文件OMF (oracle managed files)
- vant组件做表格_落户上海!分享心得,再做个积分计算器
- Winfrom 线程实现 http、https 文件下载 显示下载进度详情
- EXCEL滚动条控件制作动态图表
- ah、esp、gre协议_AH,ESP的协议号和它们支持的功能有何差异?两种模式下的差异是什么?...
- jzoj5629 【NOI2018模拟4.4】Map (业界毒瘤仙人掌缩环,线段树合并)
- html5网页制作电脑版,页未央HTML5制作神器PC版
- Android常用第三方支付
- 图像mnf正变换_基于MNF 变换的多元变化检测变化信息的集中
- 题目:在单处理器多到分时系统中,有三道作业依次提交, 其提交时刻及运行时间分别为
- 【HTTP】10分钟带你快速了解HTTP中常见的状态码(内附大量实例)
- 虚拟机下装msdos操作系统,再安装borlandc