- 浏览: 286741 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
langzhe:
Mac 下用 sudo cpan Template,依然不能 ...
第一次 使用 tsung -
langzhe:
<server host='127.0.0.1' por ...
ejabberd/tsung 做压力测试万万不可忽视测试工具问题 -
dlliwei:
jabberd_register.xml 内容如下(我的ser ...
ejabberd/tsung 做压力测试万万不可忽视测试工具问题 -
dlliwei:
你好,我安装tsung后执行命令: tsung -f jabb ...
ejabberd/tsung 做压力测试万万不可忽视测试工具问题 -
bit1129:
这么复杂的一个东西,一句话说完了?
keepalive
1 %%通过 gen_server 发送消息来实现 insert
2 3 -module(test_ets_gen). 4 -behaviour(gen_server). 5 -export([start_link/0,test_call/1,test_cast/1]). 6 -export([init/1,handle_call/3,handle_cast/2,handle_info/2,terminate/2,code_change/3]). 7 -record(state,{}). 8 9 start_link()-> 10 gen_server:start_link({local,?MODULE},?MODULE,[],[]). 11 12 test_call(Num)-> 13 Start = timestamp_in_millinsec(), 14 [gen_server:call(?MODULE,{new,1}) || _X<- lists:seq(1,Num)], 15 End = timestamp_in_millinsec(), 16 (End-Start)/1000. 17 test_cast(Num)-> 18 Start = timestamp_in_millinsec(), 19 [gen_server:cast(?MODULE,{new,1}) || _X<- lists:seq(1,Num)], 20 End = timestamp_in_millinsec(), 21 (End-Start)/1000. 22 23 init([])-> 24 State=ets:new(test,[protected,set,named_table]), 25 ets:insert(State,{info,0}), 26 ets:insert(State,{starttime,timestamp_in_millinsec()}), 27 {ok,State}. 28 handle_call({new,Num},_From,State)-> 29 Conns = ets:lookup_element(State,info,2), 30 Sum = Conns + Num, 31 ets:insert(State,{info,Sum}), 32 {reply,ok,State}. 33 handle_cast({new,Num},State)-> 34 Conns = ets:lookup_element(State,info,2), 35 Sum = Conns + Num, 36 ets:insert(State,{info,Sum}), 37 {noreply,State}. 38 handle_info(_info,State)-> 39 {noreply,State}. 40 41 terminate(_Reaseon,_State)-> 42 ok. 43 code_change(_OldVsn,State,_Exra)-> 44 {ok,State}. 45 46 timestamp_in_millinsec()-> 47 {MegaSec, Sec, MicoSec} = erlang:now(), 48 MegaSec * 1000000000 + Sec*1000 +MicoSec div 1000. %%通过 ! 发送消息来实现 insert -module(test_ets1). -export([start/2,insert_ets_p/3]). -compile(export_all). start(Num,Process)-> Tab=new_ets(), Be=timestamp_in_millinsec(), [begin spawn(?MODULE,insert_ets_p,[Num,self(),Tab]),recv(Num,Process) end || _X <- lists:seq(1,Process)], %% recv(Num,Process), En=timestamp_in_millinsec(), Re=En -Be, Re. recv(Num,_Process)-> receive R -> insert_ets(Num,R), ets:insert(test,{endt,timestamp_in_millinsec()}), io:format("recv---~p~n",[R]) after 100 -> io:format("timeout~n") end. insert_ets_p(Num,From,Tab)-> io:format("------~p----~n",[From]), [From ! Tab || _X<- lists:seq(1,Num)]. new_ets()-> Tab = ets:new(test,[protected,set,named_table]), ets:insert(Tab,{info,0,self()}), ets:insert(Tab,{start,timestamp_in_millinsec()}), Tab. insert_ets(Num,Tab)-> Conns = ets:lookup_element(test,info,2), Sum = Conns+Num, io:format("fffffff====~p====~p==",[Sum,self()]), %%ets:insert(test,{info,0}). ets:insert(Tab,{info,Sum,self()}). timestamp_in_millinsec()-> {MegaSec, Sec, MicoSec} = erlang:now(), MegaSec * 1000000000 + Sec*1000 +MicoSec div 1000. ~ 多个线程共享ets导致出现脏数据 -module(test_ets). -export([start/2,insert_ets_p/3]). -compile(export_all). start(Num,Process)-> Tab=new_ets(), Be=timestamp_in_millinsec(), [spawn(?MODULE,insert_ets_p,[Num,self(),Tab]) || _X <- lists:seq(1,Process)], recv(Num,Process), En=timestamp_in_millinsec(), Re=En -Be, Re. recv(_Num,_Process)-> receive R -> io:format("recv---~p~n",[R]) after 100 -> io:format("timeout~n") end. insert_ets_p(Num,From,Tab)-> io:format("-----~p--------~n-",[From]), [insert_ets(1,Tab) || _X<- lists:seq(1,Num)], From ! test. new_ets()-> Tab = ets:new(test,[public,set,named_table]), ets:insert(Tab,{info,0}), Tab. insert_ets(Num,Tab)-> Conns = ets:lookup_element(test,info,2), Sum = Conns+Num, io:format("fffffff====~p=====~p======~n",[Sum,self()]), %%ets:insert(test,{info,0}). ets:insert(Tab,{info,Sum}). timestamp_in_millinsec()-> {MegaSec, Sec, MicoSec} = erlang:now(), MegaSec * 1000000000 + Sec*1000 +MicoSec div 1000. ~
发表评论
-
分析 mnesia 索引慢的问题,结果出乎意料.
2015-12-15 15:09 1365分析 mnesia 索引慢的 ... -
keepalive
2014-08-12 17:30 1258{keepalive, Boolean}(TCP/IP so ... -
erlang 手动回收内存
2014-01-20 16:39 1611%%% Garbage collection may ta ... -
Erlang内存分布
2014-01-17 20:18 2022此文来自:https://blog.heroku.com/ ... -
flush 方法小用和pid()方法
2014-01-08 19:23 10251> flush(). ok 2> Pi ... -
Erlang bit语法入门-1
2013-05-14 12:18 903Erlang bit语法入门 1> Red ... -
++操作与lists:concat操作比较 (lists:concat运算结果)
2013-04-11 14:53 1184测试环境 Linux jason-lxw 3.2.0-3 ... -
解决错误src/rabbit_networking.erl:49: type hostname() undefined
2013-02-21 12:31 1040使用 make USE_SPECS=false 参数编译 ... -
我的第一个escript
2013-02-21 11:38 9691 #!/usr/bin/env escript ... -
不要忽略任何一个错误提示,更要找到原因linked websocket controlling loop crashed with reason: kille
2013-02-20 14:29 1110开发程序的时候,好几次都看到后台打出下面的错误日志。 ... -
ets:update_counter实现数字循环
2013-01-18 17:33 2060首先初始化为1 ets:insert(?MODULE, ... -
Re 从表头合理取出host
2013-01-17 15:46 914hd(re:split(Host, ":" ... -
测试 erlang:monitor
2012-11-28 18:59 978测试代码 1 -module(testmonito ... -
lcnt工具
2012-11-20 13:54 748lcnt工具可以统计虚拟机内部的锁使用次数和冲突次数指导系统的 ... -
数字前面补零
2012-11-16 17:04 776lists:flatten(io_lib:fwrite(&qu ... -
get uuid
2012-11-02 10:56 12461、 string:strip(os:cmd("u ... -
apns推送
2012-10-26 11:51 1252%%%------------- ... -
make rel Command 'generate' not understood or not applicable
2012-09-21 11:14 1930今天 编译riak时遇到了 Command 'gene ... -
Did you notice the concept of "save queue"?
2012-09-14 17:36 627Did you notice the concept o ... -
Erlang截取中文问题
2012-08-20 15:06 1487NewSummary = xmerl_ucs:to_utf8( ...
相关推荐
【描述】"java学习过程中自己的一些小例子,留下来作参考以备用"表明,这些代码片段是作者在学习Java的过程中编写的,它们可能涵盖了从基础语法到进阶概念的各种示例。留存这些例子是为了日后回顾或者作为他人学习的...
- **2.1.1 需要补充例子**: 例如确认测试环境已准备好、所有测试步骤已完成等。 #### 三、非功能性测试 - **定义**: 不涉及具体功能实现的测试,关注系统的性能、安全性、可用性等方面。 - **作用**: 确保系统的非...
本文将详细介绍如何解决JMeter中中文乱码问题,并通过一个具体的例子来演示解决方案。 #### JMeter中文乱码原因分析 1. **系统默认字符集设置:**JMeter运行环境(包括操作系统、JMeter自身)的默认字符集如果不是...
eg_测试某列的条件改变另外列的Edit属性(cxGrid的例子) eg_对BoolToStr后的值进行再次转换_最后循环取bit值 eg_时间差计算_2 FileMS(明日科技的配套代码,关于文件上传下载的那个) EquipmentSQL_20170528_ok(如...
8. **风险与问题管理**:预见可能遇到的问题,制定应对策略,如备用测试方案或风险缓解计划。 9. **测试报告**:定义如何记录和报告测试结果,包括错误跟踪和测试覆盖率。 "06-测试计划"可能是文档中的一个章节,...
6. **应用案例**:提供电子政务实际应用中的例子,展示备用电池接口如何帮助提升工作效率和应急响应能力,例如在户外会议、紧急情况下的设备供电等场景。 7. **未来发展趋势**:展望备用电池接口技术的未来发展,...
5. **耐用性和可靠性**:建筑行业的工具通常需要承受恶劣的工作条件,这种钢笔的耐用性和可靠性可能经过了专门的测试和验证,以确保在各种环境下都能正常工作。 6. **维护与保养**:资料可能包含了钢笔的保养技巧,...
在“武隆县备用机”这个例子中,Lad文件就是使用梯形图编程的源代码。梯形图由左至右的触点和右至左的线圈组成,触点代表输入,线圈代表输出,它们之间通过连接线构成逻辑关系。 【PLC程序的基本结构】 一个完整的...
33. **嵌入式软件开发流程**:理解从需求分析、设计、编码、调试到测试的完整流程。 34. **硬件调试技巧**:学会使用示波器、逻辑分析仪等工具,排查硬件问题。 35. **固件升级机制**:设计安全的固件更新方案,...
4. **故障切换测试**:进行模拟故障测试,验证在主系统失效后,冗余系统是否能正确接管并保持系统的正常运行。 5. **监控与诊断**:设置合适的监控和诊断功能,以便在出现故障时能够快速识别问题,并进行必要的维护...
5. **系统测试**:完成编程后,进行严格的系统测试,模拟各种故障情况,验证冗余系统的可靠性和切换性能。 冗余系统的优势在于它提高了系统的可用性,减少了停机时间,但同时也增加了系统复杂性和成本。因此,在...
在Android开发中,有米广告SDK是...同时,这个例子也可以作为一个模板,帮助开发者快速在自己的项目中实现广告功能。在实际开发中,还应关注用户隐私政策、广告展示频率以及合规性问题,以确保应用的合法性和用户体验。
在"描述"中提到,这个项目是作为未来备用的例子,这意味着它可能涉及到基本的菜单树操作,如展开/折叠节点、添加/删除/编辑节点、以及节点的选中状态处理。zTree提供了API接口,可以方便地完成这些操作。例如,`...
3. Dockerfile 文件:Dockerfile 文件可以写在代码里面(放在根目录)或者写在 Jenkins 的脚本里面。 4. Jenkins 打包地址:http://jenkins-u.mobvoi.com/job/google-ota-web-pre/,选择 build 或者是 test 环境进行...
3. **main_frm.frm**:可能是一个备用或修改版本的主窗体文件,通常在开发过程中用于测试不同的设计。 4. **main.frx**:这是窗体资源文件,存储了窗体中非代码的资源信息,如菜单项的文本、图标等。 5. **cdxx.ini*...
6. **测试与验证**:在实际应用前,需要对整个软冗余系统进行严格的测试,确保在各种故障场景下都能正确切换,不会影响生产过程。 西门子提供的这个示例程序,就是为了让用户了解和学习如何在实际项目中设置和调试...
当主CPU出现故障时,备用CPU可以立即接管,保证系统的不间断运行。 在这个例子程序中,用户可以学习如何设置和配置S7-300的冗余系统,包括: 1. **冗余系统配置**:设置冗余主/备CPU,确保两者之间的数据同步,...
在这个例子中,原始数据是那些草莓图像,它们是模型训练的基础。元数据则包含了关于这些图像的附加信息,如图像的拍摄日期、位置,以及关键的标注信息——缺磷、缺钙、缺铁。这些标注是人工进行的,可能通过专家的...
描述中的“以后备用”可能意味着这个压缩包包含了一些示例代码或教程,供未来参考。这将帮助我们理解如何配置和使用Hibernate连接MySQL数据库,以及执行常见的数据库操作,如CRUD(创建、读取、更新和删除)。 标签...
在工业自动化领域,西门子S7-300系列PLC(可编程逻辑控制器)是一种广泛应用的控制系统。"软冗余"是该系统中的一种...通过学习和实践其中的示例,工程师可以增强自己在工业自动化领域的故障容错能力和系统设计能力。