施工修改驱动,使用Erlang VoltDB实现每秒87.7万事务

voltdb  时间:2021-01-26  阅读:()

叫你如何修改驱动

使用Erlang+VoltDB实现每秒87. 7万事务

Henning Diedrich首次接触VoltDB是为了给大型网络游戏服务器寻找更好的数据库在其经历了扩展MySQL的“悲惨遭遇”后 Henning看上了VoltDB 因为VoltDB比MySQL更适合复杂游戏世界的需求最起码Henning认为VoltDB比其它任何数据库都适合。当然Henning同样在寻找比Java更适合程序服务器的语言如同各位所想Erlang捕获了Henning的“芳心” 。这样一来对Henning来说就万事具备只欠Erlang上的VoltDB “驱动”了。

驱动的建立

Henning的动作不可谓不快 3年后应VoltDB的要求 2010年其捐献了该驱动的第一个版本。这个驱动使用起来已逼近完美唯一欠缺的就是集群主机间使用的是同步连接。而在2012年VoltDB决定建立一个更大更犀利的版本 现已在GitHub上开源。

下面将介绍新的异步驱动所具备的特性纯Erlang完全并行的微进程

microprocess 极其的快速、稳定并适合VoltDB 3继承并整合了先前版本。新驱动的可靠及一致的高吞吐量保障建立在多年Erlang MySQL驱动和Emysql开发经验之上而连接池和调用队列更是采用了最初为Electonic Arts设计的核心建模其可靠性毋庸置疑。这些因素保障了新的Erlang驱动可以承受峰值访问并为VoltDB服务器节点分配负载。

至于基准脚本的建立 Henning借鉴了之前他为VoltDB建立Node. js的经验。有了之前的这些经验 Henning很清楚让云集群能更好运行需要什么样的数据以及必须详细的地方。

驱动内部结构的实现基本上完成了预期的要求程序的微进程将调用驱动中的函数给一个专用的连接器发送消息它将处理所有的连接工作。请求发送以后初始化进程将被阻塞在一个同步的接收块当然它不会阻塞你其它的所有进程或者根据需要继续运行 已经有理由选择异步模式了结果从服务器送到进程中的mailbox中。 本段中所说的同步只是针对驱动而对VoltDB的调用使用的仍然是异步模式驱动只是简单的让进程在接受块中等待

在这里你有很多的选择 比如存在让你建立专用进程去处理请求发送的模式从而保护你的初始化进程不会被驱动中其它活动打断。对那些你不会在意成功与否的写操作在发起后你就可以弃之不理甚至是阻止接收这些操作失败后的返回消息。

基准应用程序

基准基于VoltDB的投票用例这个例子在每个VoltDB都存在原始的用例设置中有一个页面用于显示结果每400毫秒修改一次。你可以从VoltDB安装目录下examples/voter中找到它。

基准需要一些准备工作数据库需要写入6个选手的姓名然后向服务器每个核心发送100万的写入事务每个事务都会给选手中随机的一个送去一票。最终显示每个参赛者所得的票数通过使用VoltDB的materialized view和ad-hoc查询。 在VoltDB术语中 ad-hoc属于常规查询

基准源在驱动的主目录之下的etc/bench中 同样你还可以在其中发现一个详细的README.md其中阐述了基准运行的多个途径。你可以使用以下的代码在本地测试 当然会很慢

$ git clone git://github.com/VoltDB/voltdb.git voltdb

$ git clone git://github.com/VoltDB/voltdb-client-erlang.git erlvolt$ cd voltdb/examples/voter && ./run. sh &

$ cd && cd erlvolt && make clean all bench

通常会在屏幕上显示如下结果metal:~ hd$ cd voltdb-3-com/examples/voter && ./run. sh &

[1] 10817metal:~ hd$ Initializing VoltDB. . .

| | / /___ / / /_/ __ \/ __ )

| | / / __ \/ / __/ / / / __ |

| |/ / /_/ / / /_/ /_/ / /_/ /

|___/\____/_/\__/_____/_____/

Build: 3.0 voltdb-3.0-95-gfffab2b Community Edition

Connecting to VoltDB cluster as the leader. . .

Initializing initiator ID: 0, SiteID: 0:5

WARN: Running without redundancy (k=0) is not recommended forproduction use.

Server completed initialization.metal:erlvolt hd$ cd && cd erlvolt && make clean all benchcleanerlc -W -I . ./include +debug_info -o . ./ebin erlvolt.erlerlc -W -I . ./include +debug_info -o . ./ebin erlvolt_app.erlerlc -W -I . ./include +debug_info -o . ./ebin erlvolt_conn.erlerlc -W-I . ./include +debug_info -o . ./ebin erlvolt_conn_mgr. erlerlc -W-I . ./include +debug_info -o . ./ebin erlvolt_profiler. erlerlc -W -I . ./include +debug_info -o . ./ebin erlvolt_sup.erlerlc -W -I . ./include +debug_info -o . ./ebin erlvolt_wire.erlerlc -W -I . ./. ./include +debug_info -o . ./. ./ebin bench.erlErlvolt Bench 0.9 (client 'VSD' )

---------------------------------------------------------------------

----------------------------------------------------------------

Client 'VSD' , voter, 100,000 calls, steady, 200 workers, delay n/a,direct, queue n/a, slots n/a, limit n/a, verbose, "n/a" stats/secHosts: localhost:21212connect . . .preparation . . .

Start at: 2013-02-06 18:56:20. . . . . . . . . . . . . . . . . . . . .

Starting: 2013-02-06 18:56:20calls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .cool down . . .check writes . . . okresults . . . votes: 100,000 (6 contestants)

. . . . .Edwina Burnam: 16,817

. . . .Jessie Alloway: 16,808

. . .Tabatha Gehling: 16,669

. . . . .Alana Bregman: 16,613

. . . .Jessie Eichman: 16,556

. . . . . .Kelly Clauss: 16,537

close pool . . .

Client 'VSD' , voter, 100,000 calls, steady, 200 workers, delay n/a,direct, queue n/a, slots n/a, limit n/a, verbose, "n/a" stats/sec---------------------------------------------------------------------

Client 'VSD' overall: 14,357 T/sec throughput, 0.00% fails, totaltransactions: 100,000, fails: 0, total time: 6.965sec

Erlvolt 0.3.3, bench started 2013-02-06 18:56:20, ended 2013-02-06

18:56:26, database: +100,000 new votes

[++++++++++++++]

更进一步的介绍比如在云中进行最棒的基础测试查看etc/bench/README.md或者在驱动根目录下查看这个页面 doc/BENCHMARK-README.html。

基准测试结果

当在单核心-smb+S 1上运行时使用一个12-node VoltDB服务器集群Erlang驱动会跑出每个核心上2.65万TPS 事务/秒 。如果将全配的16核心的集群实例作为客户端节点每台机器上都会达到26万TPS。

使用8个节点连接到1个12节点的VoltDB集群每个客户端节点将达到平均的

10.9689万TPS整个集群将达到87.7517万TPS。

鉴于这个基准测试的是驱动而不是服务器 Henning Diedrich并未对服务器集群做出调整。当然随着集群继续增大时每个客户端核心的性能可能会受到EC2的网络限制。当然基准只有在服务器未过载的情况下才会体现出效果而通过“backpressure”也可以最大程度上的防止系统过载。

测试环境

Henning将一个20节点的Amazon EC2 cc2.xlarge拆分成8个Erlang客户端和12个VoltDB服务器节点。 M3.2xlarge提供了如下特性

 Cluster Compute Eight Extra Large Instance cc2.8xlarge

 60. 5GiB内存

 88个EC2计算单元2×Intel Xeon E5-2670 8核

 3370 GB的实例存储

 I/O性能 10 G的以太网

节点配置如下

 Ubuntu Server 12.04 LTS for Cluster Instances AMI

 Oracle Java JDK 1. 7

 Erlang R15B03

 VoltDB Enterprise Edition 3.0 RC 该基准在免费的Volt 3.0 Community

Edition版本上也可以完美运行

事务相关

客户端通过调用Voter的vote  方法进行储存这个过程肯定不会只执行一个写操作取决于你的逻辑 可分为4-6个操作

 检索调用者投票者的位置一个查询操作

 检查调用者是否超过了他的投票次数一个查询操作

 验证调用者投票的对象是否有效一个查询操作

 如果上面全部有效则投票生效一个插入操作

基于以上这些每个插入同时引起两处不同的materializedview的改变这样的话87.7万的TPS造成了350万的QPS。

观察结果和注意点

Henning认为这里最值得关注的数字就是单CPU核心上的2.65 TPS整合了10万次的操作。这可以让你对你需要的硬件数量进行估算当然还要切记的是服务器的性能一般比EC2实例要高的多。当然这里没有选用8台主机而是使用EC2实例也是基于EC2实例性能的透明性。

女孩http://www.hainvhai .com

保温杯http://www. ibaowenbei .com

亲爱的朋友上文已完 为感谢你的阅读特加送另一篇范文如果下文你不需要可以下载后编辑删除谢谢

道路施工方案

1、 工程概况

2、 编制说明及编制依据

3、 主要施工方法及技术措施

3 1施工程序

3 2施工准备

3 3定位放线

3. 4土方开挖

3 5卵石路基施工

3 6天然砾基层施工

3. 7高强聚酯土工格楞

3 8水泥稳定砂砾基层施工

3 9路缘石施工

3. 10玻璃纤维土工格栅施工

3 11沥青面层施工

3. 12降水施工

4、 质量控制措施

5、 雨季施工安排

6、 安全技术措施

1.工程概况

本项目建设的厂址位于新疆石河子市。工程场地位于石河子高新技术开发区经七路西。场地原为麦田地势南高北低。厂区道路连通各装置区域并与经七路相连。

2.编制说明及编制依据

为保质按时顺利完成厂区道路根据工程施工招标文件、设计施工图 以及现场实际场地并结合我公司多年来的现场施工经验编制此方案。

规范及标准

《沥青路面施工技术质量规范》 JTG F40-2004

《工程测量规范》 GB50026-2007

《建筑施工安全检查标准》 JGJ59-1999

3.主要施工方法及技术措施

3.1施工程序

降水——施工测量——土方开挖——路基卵石整平——机械压

实——天然砂砾基层——机械压实——高强聚酸土工格楞——浆砌

卵石立缘石基础——水泥砂浆勾鏠——天然砂砾基层——机械压实

——安装路缘石——水泥稳定砂砾底基层——玻璃纤维土工格楞

——粗粒式沥青混凝土面层——中粒式沥青混凝土面层

3.2施工准备

熟悉图纸及规范做好技术交底工作。按图纸范围确定施工范围标出外框范围线清出障碍物。联系施工需用材料、机械的进场工作。根据业主提供的平面控制坐标点与水准控制点进行引测。根据施工图规定的道路工程坐标点进行测量放样的业内复合计算。

3.3定位放线

根据现场实际情况在道路两侧沿线间隔50m左右布置测量控制桩轴线定位坐标桩与高程测量控制桩合用。控制点沿道路中心线两侧交错间隔布置形成多个控制体系同时控制桩做醒目标志 以防在施工过程中被碰动。土方施工后测量人员应及时重新放线路基处理后应在路基上测定路面中心线、边界线以及标高控制点。

其基本步骤为校验路基轴线控制桩合格后根据轴线控制桩详细放出路边线以及设置标高控制桩。

放线自检和业主监理验收后方可使用。验线允许偏差根据规范规定。

3.4土方开挖

施工方法在施工测量放线确定基础位置经检查复核无误后作为施工控制的依据并经过监理确认后 即可进行基础土石方的开挖。

主要施工机具挖掘机、装载机、尖、平头铁锹等。

3.4. 1作业条件

土方开挖前应摸清地下管线等障碍物 以及地下水位等情况并应将施工区域内的地下障碍物清除和处理完毕。

道路的定位控制线桩标准水平桩及基槽的灰线尺寸必须经过共同检验合格并办完预检手续。考虑在机械无法作业的部位和修整边坡坡度采用人工进行施工。熟悉图纸做好技术交底。索取地勘资料及气象资料。

夜间施工时应合理安排工序防止错挖或超挖。施工场地应根据需要安装照明设施在危险地段应设置明显标志。

3.4.2挖土方流程

确定开挖的顺序和坡度→沿灰线切出槽边轮廓线→分层开挖→修整槽边→清底。

1基地坡度剖面图

现场土质为粉质粘土,开挖深度不超过1.5m可不放坡,不加支撑,挖深度超过1.5m必须放坡,放坡坡度为1:0.75。

2开挖基槽

采用反铲挖土机开挖基槽从槽的端头,以倒退行驶的方法进行开挖,将土方甩到基槽两侧,应保证边坡的稳定。场地以下耕织土层直接清理现场剩余好土回填基槽使用。

3施工要求

基坑槽开挖后不得直接开挖至设计底标高避免机械开挖扰动地基土层。在挖到距槽底20cm以内时测量放线人员应配合抄出距槽底20cm水平线并在槽壁上每隔3~5m钉水平标高小木桩或短钢筋在挖至接近槽底标高时0.2m时用尺或事先量好的20cm标准尺杆随时以小木桩校核槽底标高。最后由两端轴线中心线引桩拉通线检查距槽边尺寸确定槽宽标准据此修整基槽最后人工清除槽底土方。

土方开挖时应注意边坡稳定。严禁切割坡脚 以防导致边坡失稳当边坡坡度陡于五分之一或在软土地段不得在挖土上侧堆土。必要时可适当放缓边坡或设置支撑。施工时应加强对边坡、支撑、土堤等的检查。 同时应注意基坑边沿控制线好其他单位设施避免损伤.

夜间施工时应有足够的照明设备在危险地段应设置明显标志并要合理安排开挖顺序防止错挖、超挖。

雨期施工在开挖基坑槽时应注意边坡稳定必要时可适当放

raksmart:年中大促,美国物理机$30/月甩卖;爆款VPS仅月付$1.99;洛杉矶/日本/中国香港多IP站群$177/月

RAKsmart怎么样?RAKsmart发布了2021年中促销,促销时间,7月1日~7月31日!,具体促销优惠整理如下:1)美国西海岸的圣何塞、洛杉矶独立物理服务器低至$30/月(续费不涨价)!2)中国香港大带宽物理机,新品热卖!!!,$269.23 美元/月,3)站群服务器、香港站群、日本站群、美国站群,低至177美元/月,4)美国圣何塞,洛杉矶10G口服务器,不限流量,惊爆价:$999.00,...

快云科技:夏季大促销,香港VPS7.5折特惠,CN2 GIA线路; 年付仅不到五折巨惠,续费永久同价

快云科技怎么样?快云科技是一家成立于2020年的新起国内主机商,资质齐全 持有IDC ICP ISP等正规商家。我们秉承着服务于客户服务于大众的理念运营,机器线路优价格低。目前已注册用户达到5000+!主营产品有:香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机!产品特色:全配置均20M带宽,架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10阵列, 国...

提速啦(24元/月)河南BGP云服务器活动 买一年送一年4核 4G 5M

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

voltdb为你推荐
名侦探柯南644名侦探柯南铃木园子破案集数软银支付软银支付是帮忙还信用卡的吗,可靠吗唐人社美国10次啦急!我和我老公都是第一次.我们有十次左右性生活;为什么我每次都没什么感觉;也没高潮(他有高潮)而且感觉好像没进去;怎么办?免费送q币活动免费送q币送钻的活动小说软件哪个好用免费现在看小说用什么软件好,不用钱的,华为p40和mate30哪个好荣耀30pro和华为p40对比。,哪个更值得入手?宝来和朗逸哪个好大众朗逸和宝来,哪个好点?二手车网站哪个好买二手车去哪里买比较划算?炒股软件哪个好请问有什么好用的免费股票软件?网页传奇哪个好玩传奇网页游戏哪个好玩的最新相关信息
虚拟主机评测网 工信部域名备案查询 域名备案网站 过期域名抢注 草根过期域名 免费申请网页 漂亮qq空间 阿里云os 高防dns 荣耀欧洲 华为云服务 buyvm 私人服务器 圣迭戈 mediafire下载 tk域名 一元域名 云全民 免费个人空间申请 数字域名 更多