关于网心云性能调优的几点总结性经验

经过数月网心云运行与跑量,反复在定向——非定向业务中的反复横跳,踩遍无数坑子,下面总结一些容易忽略的调优点/注意点,供各位参考。

 

一,官方对于4k读的测试方法纯属胡扯

 磁盘读iops检测 | 硬盘配置参考 | 网心云 (onethingcloud.com),按照此文中描述的信息,AS SSD中的iops应为磁盘单线程4k读速度,而大量定向业务对该性能指标的要求动辄≥30000iops,20000iops。根据读取4k大小文件来计算,IOPSx4÷1024=MB/s,即使仅满足2万iops也需要单线程4k读取速度达到惊人的78.125MB/s——而这一速度目前只有傲腾这一类的顶级固态可以达到(P4800X 375G版本该项指标可达187MB/s,参考Intel P4800X 375G SSD性能评测-网烁信息科技有限公司 (waso.com.cn)),即使走PCIE4.0x4的铠侠CD6也望尘莫及(铠侠CD6 3.84TB版本单线程4k读速度不过39.7MB/s,参考铠侠固态硬盘怎么样 铠侠固态硬盘评测_什么值得买 (smzdm.com)),甚至连PM983的继任者——三星PM9A3也无法达到如此变态的要求(三星PM9A3 1.92TB版本该项指标也不过54.19MB/s,参考固态硬盘 篇四:捡矿盘垃圾——星星星 PM9A3 1.92T评测_固态硬盘_什么值得买 (smzdm.com))。本着不如摆烂的心态入了一块Intel S3520 480GB版本(单线程4k读速度仅有25MB/s左右,约合6400),但是实际上机后测试结果如下:

  在前期4k读测出来的甚至可以摸到4万,令人百思不得其解,唯一合理的解释就是:

实际跑量中4k读并非单线程

官方测试方式只针对4k单线程读进行测试

而这两者并非线性的乘数关系!

用人话说就是:官方给的测试方法和实际网心云跑量时的测量方法完全不一致,结果甚至也无法换算,没有任何参考价值!根据实测,靠谱的SATA3固态基本都能达到3到4万iops,走NVMe的雷克沙NM610Pro甚至都能跑出14万,同时值得注意的是,iops与跑的业务类型,地区调度也密切相关(平均读写文件大小,读写频率有差异,会导致iops参数不准)。

 

二,对于X86设备,CPU负载类型为典型的多核低频类型

网心云追求的是尽可能多的线程进行同时读写,如果纯粹用于网心云,高IPC/高主频除了浪费钱和浪费电以外意义不大。对于拥有大量带宽资源,并且需要全新采购服务器用于跑量的大户,一般建议的最佳解为E5-2651v2(12C24T,1.8Ghz-2.0Ghz)+C602(俗称双路X79)+DDR3 REG ECC(简称D3RECC),充分利用好C602廉价的2651v2以及白菜价D3RECC,同时提供尽可能多的PCIE供阵列卡、U2盘使用。如果只是小规模运行,不考虑插大量PCIE设备,建议采购二手Xeon-D 1581一体板(火神革命的板子非常符合要求)。由于吃到了制程红利,1581的性能约为单颗2651v2的1.67倍(典型的多核低频低功耗CPU,Intel当时设计此CPU正是为了网络类型的负载,原话为“可在空间和电源受限的环境中提供工作负载优化的性能,从数据中心到智能边缘。这些创新的系统级芯片处理器支持高密度、单插槽网络、存储和云边缘计算解决方案,具有一系列集成安全性、网络和加速功能”),但是考虑到火神板子极差的扩展性,谜一般的BIOS,整板入手价格不建议超过300元,当成一个大玩具处理。

 

三,跑量特性:

一般而言上午8点到9点为结算时间点,上午10点逐渐开始大量上行,午高峰为11:00到下午1:30,晚高峰为晚8:00-晚10:00,半夜11:30开始上行呈现断崖式下跌,转入下行缓存部署状态,每日上行流量最低时间出现在凌晨3:00-4:00。

 

四,单根宽带使用一台网心云一般无法完美跑满,同时不建议顶着上行带宽极限设置带宽数据

同一根宽带下建议拿到公网ip-打开pnp-调整为全锥形网络,至少上两台网心云机器跑量,可以充分利用足带宽资源;另外如果实际上行带宽为10MB/s,一般建议设置的上行带宽控制在9MB/s左右(80%-90%)原则,否则在晚高峰可能会引起线路丢包。

 

五,机械磁盘不建议跑非定向(又称智能业务)

非定向业务反而对于磁盘IO要求非常高,机械盘到后期iowait基本铁定爆表,引起CPU负载激增,导致降权降低收益。如果使用机械磁盘,建立老老实实堆容量跑B/B1网盘,此两项业务对于机械磁盘有负载优化,猜测是连续对大文件进行读写,可非常有效避免CPU负载过高的问题。

本文首发博客园,如在其它网站上发现均为抄袭,特此声明

http://article.itxueyuan.com/d6pEM9 未经许可擅自转载

http://www.maxssl.com/article/4644/ 抹掉源文链接直接洗稿并且谎称原创,正在交涉删除

本文转载于网络 如有侵权请联系删除

相关文章

  • 情人节程序员用HTML网页表白【我永远属于你】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript

    这是程序员表白系列中的100款网站表白之一,旨在让任何人都能使用并创建自己的表白网站给心爱的人看。此波共有100个表白网站,可以任意修改和使用,很多人会希望向心爱的男孩女孩告白,生性腼腆的人即使那个TA站在眼前都不敢向前表白。说不出口的话就用短视频告诉TA吧~制作一个表白网页告诉TA你的心意,演示如下。@TOC一、网页介绍1网页简介:基于HTML+CSS+JavaScript制作七夕情人节表白网页、生日祝福、七夕告白、求婚、浪漫爱情3D相册、炫酷代码,快来制作一款高端的表白网页送(他/她)浪漫的告白,制作修改简单,可自行更换背景音乐,文字和图片即可使用2.网页编辑:任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode、Sublime、Webstorm、Text、Notepad++等任意html编辑软件进行运行及修改编辑等操作)。一、网页效果在这里插入图片描述二、代码展示1.HTML代码代码如下(示例):以下仅展示部分代码供参考~<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN&qu

  • 低代码的5个误区,你踩雷了吗?

    近期低代码开发成为软件开发人员和工程团队的流行语。虽然低代码平台能让人轻松创建应用程序,但仍有许多误区需要揭开。下面分享有关低代码开发的5大误区。误区1:低代码平台不再需要开发团队低代码平台使用可视化建模工具来表达逻辑,并将底层代码转换为开发人员和业务用户都可以理解的可视化格式。由于快速、大规模地构建企业级应用程序要求开发人员的持续性,因此参与开发过程的跨职能团队能满足将应用程序开发实施到企业中的最佳条件。伟大的商业思想可以更快地转化为应用程序,软件团队可以不再担心技术债务和资源限制。当然,一些低代码平台可以让业务用户构建简单的应用程序,但支持数字化转型的应用程序并不简单。它们是高可见性、大范围、企业级的应用程序,需要由专业的开发人员快速构建并与企业信息系统集成。误区2:低代码开发只针对简单应用从小型到大型公司,在提及构建桌面端、移动端和网页端应用程序时,低代码平台比传统软件开发更领先一步。这使得低代码成为构建大型企业应用程序、进行数字化转换的一种极具吸引力的替代方法。低代码平台能够扩展,并适用于成千上万的用户和数百万个数据集。大多数通过低代码构建的应用程序都是企业范围的,或者可以扩展

  • 高速上云/智能组网/视频上云网关EasyNTS内网穿透机制及应用说明介绍

    自从EasyNTS视频云组网上线以来,可以看出很多用户都对此产品的网络穿透功能很感兴趣。EasyNTS视频云组网采用MQTT加密协议,具有运算速度快,安全性高,资源损耗低的优势。服务器在本地,与IPCamera/NVR/编码器同在一个局域网内,拥有一个内网IP地址,同时服务器又具有外网访问地址的能力。至于EasyNTS硬件设备是如何实现这种能力的,我们一直没有做过多说明,本文就和大家分享一下,同时也跟大家讨论下内网穿透的意义和安全性。内网穿透的实现内网穿透简单来说就是将内网外网通过EasyNTS终端设备隧道打通,让内网的数据让外网可以获取。比如常用的办公室软件等,一般在办公室或家里,通过拨号上网,这样办公软件只有在本地的局域网之内才能访问,那么问题来了,如果是手机上,或者公司外地的办公人员,如何访问到办公软件呢?这就需要EasyNTS终端设备内网穿透工具了。运行EasyNTS终端设备隧道之后,EasyNTS云平台会分配一个专属域名/端口,办公软件就已经在公网上了,在外地的办公人员可以在任何地方愉快的访问办公软件了。内网穿透可以做什么1.通过外网访问上文举例的办公软件; 2.放在家里的树

  • 20年后,我们这样看春晚

    小时候,每个除夕夜一家人都会守在小小的彩电之前看春晚。20年后,小彩电变成大大的液晶显示屏,一家人看着高清直播参与现场互动。随着视频产品、技术、生态不断的升级与发展腾讯视频云带来的改变,其实还有很多……左滑回到现在←腾讯云助力下,2019年央视春晚首次进行4K超高清直播,其中腾讯云自研极速高清转码技术降低了30%-40%的带宽消耗。 左滑回到现在←“一部手机游云南”依托腾讯云慢直播、点播、VR技术,通过app、小程序24小时不间断地向观众展示云南景区风光。左滑回到现在←2019年,腾讯云发布了云游戏端游及手游解决方案,实现云游戏多端无缝接入,低延时高画质、智能码率控制保障玩家游戏体验。左滑回到现在←腾讯云为国庆70周年阅兵直播提供全程技术支撑,并基于AI技术对直播进行灵活剪辑,呈现更好的直播效果。左滑回到现在←腾讯云为2019英雄联盟全球总决赛提供全链路护航并承载全网90%流量。同时,腾讯云持续探索直播商业化,推出一键互动广告、选手第一视角流观赛,为直播行业客户持续贡献动能。左滑回到现在←腾讯云服务了国内90%的电商企业,2019年双11期间,通过腾讯云移动直播、商业直播,依托微信生态

  • 常用正则表达式

    前言:  这些正则皆为日常开发总结,一般常用的都用,来源有来自自己总结的,还有的是从网上记录下来的,希望对大家有个帮助,完好正则提高程序性能!JavaScript正则表达式:什么是正则表达式?正则表达式是由一个字符序列形成的搜索模式。当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。正则表达式可以是一个简单的字符,或一个更复杂的模式。正则表达式可用于所有文本搜索和文本替换的操作。javascript正则实例:体重:varweightReg=/^(0(\.\d{1}){0,1}|[1-8]\d{1,3}(\.\d{1}){0,1}|9\d{1,2}(\.\d{1}){0,1}|999(\.0){0,1}|.{0})$/; 身高:varheightReg=/^(0{1}|[1-9]\d{0,3}|.{0})$/; 视力:varvisionReg=/^(0\.\d{1}|[1-4]{1}(\.\d{1}){0,1}|5(\.0){0,1}|.{0})$/; 地址:varschoolReg=/^([\u4e00-\u9fa5a-zA-Z0-9]{0,50})$/; 描述:varsc

  • 腾讯云怎么装W2003系统或者XP W7 系统。

    腾讯云怎么装W2003系统或者XPW7系统。这个2008的系统不能安装SQL2000太垃圾了,,,腾讯云怎么装W2003系统或者XPW7系统。这个2008的系统不能安装SQL2000太垃圾了,,,腾讯云怎么装W2003系统或者XPW7系统。这个2008的系统不能安装SQL2000太垃圾了,,,腾讯云怎么装W2003系统或者XPW7系统。这个2008的系统不能安装SQL2000太垃圾了,,,腾讯云怎么装W2003系统或者XPW7系统。这个2008的系统不能安装SQL2000太垃圾了,,,腾讯云怎么装W2003系统或者XPW7系统。这个2008的系统不能安装SQL2000太垃圾了,,,腾讯云怎么装W2003系统或者XPW7系统。这个2008的系统不能安装SQL2000太垃圾了,,,腾讯云怎么装W2003系统或者XPW7系统。这个2008的系统不能安装SQL2000太垃圾了,,,腾讯云怎么装W2003系统或者XPW7系统。这个2008的系统不能安装SQL2000太垃圾了,,,腾讯云怎么装W2003系统或者XPW7系统。这个2008的系统不能安装SQL2000太垃圾了,,,腾讯云怎么装W200

  • 【转】python打包成so-* -coding: UTF-8 -* -

    python:让源码更安全之将py编译成so应用场景Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,使用其开发产品快速高效。python的解释特性是将py编译为独有的二进制编码pyc文件,然后对pyc中的指令进行解释执行,但是pyc的反编译却非常简单,可直接反编译为源码,当需要将产品发布到外部环境的时候,源码的保护尤为重要.准备工作环境是可为linux/centos,我Windows10本地是BashonUbuntuonWindows,用起来很方便,命令行打bash即进入命令行思路是先将py转换为c代码,然后编译c为so文件所以要安装以下内容python安装:cythonpipinstallcythonlinux安装:python-devel,gccyuminstallpython-develyuminstallgcc初步编译在testing文件夹下有your_file.py文件待编译,内容如下-*-coding:UTF-8-*-author='Arvin'classtest: defsay(self): print'hello&

  • 大疆欲用3万美元重奖白帽子,事情却没按预想的那样发展…

    这2天,大疆又因为一个白帽子站上了风口浪尖。白帽子KevinFinisterre通过Twitter讲述了他参与大疆漏洞奖励计划的糟糕经历,而大疆则指责Kevin未经授权入侵大疆服务器数据并对大疆进行信息安全威胁,这件事情究竟是怎么样的呢? 事情还得从8月份说起。8月28日,大疆大疆宣布推出“大疆威胁识别奖励计划”,最低奖励为100美元(约合人民币658元),最高3万美元(约合人民币197457元),金额根据威胁潜在的影响而定。 于是,全世界的黑客和白帽子们都跃跃欲试,希望能从中捞一笔,毕竟大疆的无人机确实存在漏洞,去年315晚会上,大疆无人机被黑客劫持作为案例出现在信息安全板块中。视频中展示了无人机在黑客的操纵下,脱离了机主的控制任由黑客摆布。 到了10月底,有国外媒体报道,有相关人士发现了大疆漏洞,而作为BugBounty计划的一部分,DJI已经同意向多个安全研究人员支付总额超过3万美元的奖金。尽管那时还没有支付任何款项,但从数名研究人员口中证实,他们当前上报的大疆软件漏洞错误报告是准确的。而他们现在已经将个人银行信息交给了DJI,只待奖金到账。而其中这个奖金至少包括一个3万美

  • 腾讯云数据传输服务修改数据订阅实例的IP和端口号数据传输服务API20180330

    1.接口描述接口请求域名:dts.tencentcloudapi.com。 本接口(ModifySubscribeVipVport)用于修改数据订阅实例的IP和端口号 默认接口请求频率限制:20次/秒。 APIExplorer提供了在线调用、签名验证、SDK代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成SDK调用示例。 2.输入参数以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数。 参数名称 必选 类型 描述 Action 是 String 公共参数,本接口取值:ModifySubscribeVipVport。 Version 是 String 公共参数,本接口取值:2018-03-30。 Region 是 String 公共参数,详见产品支持的地域列表。 SubscribeId 是 String 数据订阅实例的ID DstUniqSubnetId 否 String 指定目的子网,如果传此参数,DstIp必须在目的子网内 DstIp 否 String 目标IP,与Dst

  • 【对象晋升老年代的条件】

    年轻代 1.正常晋升 eden满了触发一次minorGC回收把幸存对象放入幸存者s0或者幸存者s1且把年轻值超过15的对象(通过-XX:MaxTenuringThreshold=1设置)放入老年代 2.大对象晋升 当幸存者区剩余内存放不下回收的对象大小时直接把对象放入老年代(大对象直接进入老生代) 3.动态年龄晋升 幸存者区中所有对象的年龄从小到大进行累加,当加入某个年龄段后,累加对象大小如果大于等于Desiredsurvivorsize(S区期望大小),则重新计算threshold(晋升阈值),age等于累加触发的年龄,以age和MaxTenuringThreshold两者的最小值为准。min(age,MaxTenuringThreshold)=threshold jvm动态年龄相关代码 uintageTable::compute_tenuring_threshold(size_tsurvivor_capacity){ //survivor_capacity是survivor空间的大小 size_tdesired_survivor_size=(size_t)((((double)su

  • git版本库使用小记

    使用工具为sourceTree,用法可以参考此处以及如何免登陆使用 1.从master上做分支,在本人的分支上开发,提交时先提交本地工作副本,再推送大到远程自己的分支上,最后提mergerequest,审核完后merge到master。 2.提过一次mergerequest之后,在审核者处理之前,再往自己分支上提交后,就不用再提mergerequest了,merge时会一次性全部处理。 3.拉取与获取的区别   git  pull  从远程拉取最新版本到本地 自动合并merge    git fetch 从远程获取最新版本到本地 不会自动合并  4.一般在pullmaster的代码之前,先把本地修改贮藏起来,再去pull代码,这个时候就能看到冲突,解决掉冲突后把贮藏取出来。 5.pull代码的时候要选择是从哪里拉取,一般是从远端的master拉取,因为别人的东西会从他们的分支merge到master去     

  • Easy MD5

    打开页面显示一个提交查询按钮,随便输入判断可以进行SQL注入,尝试输入1‘or1=1,1’or1=2发现没效果 用burp抓包一下,得到响应,发现里面有一个select*from‘admin’wherepassword=md5($pass,true) 查询百度可知当md5($pass,true)为真的时候,可以执行select*,输入$pass时,首先会被md5加密,然后会被转换成16字符的二进制格式。 百度知道存在md5函数漏洞,ffifdyop字符串可以造成漏洞: 解析后的表达式为 select*from'admin'wherepassword=''or'6]!r,b' 复制 即 select*from'admin'wherepassword=''or'1 复制 检查源代码发现可以使用GET提交数据 这里要使用GET提交方法提交两个变量a,b,a和b不相等,但MD5加密的值要相等 使用MD5数组绕过 原理:md5()函数无法处理数组,如果传入的为数组,会返回NULL,所以两个数组经过加密后得到的都是NULL,也就是相等的。 输入?a[]=1&b[]=2,得到一段p

  • 理解Cookie Token 的区别

    Cookie是保存在客户端(或浏览器)的Session是服务器上的概念 至于他们的详细的介绍网上一堆,就不细说了. 下面主要说下Cookie和近期?流行的Token 首先是Cookie,Cookie已经存在很长一段时间了,他主要的目的还是对应的是在服务器端使用Session来区分不同用户.或者说保持客户端的当前状态(例如xxx登陆了,下次再打开客户端{Browser}就不需要再次登陆了,客户端{Browser}会查找并应网站的Cookie,如果有就将请求附上此Cookie并发送.只要得到服务器的认证.则用户不需要再次登陆) 但是使用Cookie需要防止CORS跨域问题,想想如果B的网站读取了A网站的Cookie信息,那得多恐怖??   所以在浏览器发送跨域请求时, 哪怕服务器端通过了跨域请求(下方origin设置为*) res.header("Access-Control-Allow-Origin","*"); res.header('Access-Control-Allow-Methods','PUT,GET,POST,DELETE,OPTIONS'); res

  • HNOI2019 游记

    HNOI2019游记 Day0 其实考前几天,心里还是挺慌的。结果最后Day0的时候,因为种种原因反而释然了。也许是觉得,在这一步退役,也没有什么好害怕的吧。 OI本身就是一项偶然性太大的竞赛。也许在你遗憾失利的时候,还有更多比你强的选手倒在了省选前。 Day1 拿到题之后,跳了计算几何与字符串,先开了相对擅长的计数。仔细分析了一下性质,发现大概是一个树的遍历的方案数。如果带修的话,因为修改的点数不多,大概可以暴力除掉原来的贡献,在乘上新的贡献就行了。 当时觉得乘上新的贡献的时候,要重新计算子树的大小,觉得细节有点多……当时决定,先写个\(O(nm)\)的暴力,最后看情况再改成\(O(n\logn)\)。大概\(9\)点的时候开始写代码,结果活生生调到了\(11\)点左右的时候才把暴力调出来……感觉再写下去会出事,赶紧扔了去看别的题。 回头看T2,想了好一会怎么\(\text{SAM}\),结果发现直接\(\text{KMP}\)就完事了……忽然意识到可能\(\text{Undo}\)一个\(\text{Undo}\)操作,还要建操作树,在操作树上跑\(\text{KMP}\)。写完之

  • redis常用命令

    redis命令手册http://redisdoc.com/index.html 在Ubuntu下面操作: redis的操作是以key-value的形式存储的 key为字符串 Value:字符串,hash表,list集合,set集合,zset集合五种类型 字符串类型: 1.基本键值对:setkeyvalue 2.键值对,有效期:setexkeysecondvalue 3.设置多个键值对:msetkey1value1key2value2.. 4.追加值:appendkeyvalue 复制 获取值: 1.获取基本值:getkey 2.获取多个值:mgetkey1key2.. 查看键: 1.查看所有的键:keys* 2.查看以a开头的键:keysa* 3.看键是否存在:existskey 4.查看键的类型:typekey1 删除键值对: 1.删除键:delkey1key2.. 2.设置键有效期,删除键:expirekeyseconds 3.查看键的有效期:ttlkey hash类型 增加数据 1.增加域的key和值:hsetkeyfieldvalue 2.设置域的多个属性:

  • ssh首次交互免输yes

    ssh-ostricthostkeychecking=no root@192.168.1.10

  • 洛谷 P3224 [HNOI2012]永无乡 题解--zhengjun

    思路 十分板,直接上线段树分裂就行了,加上一个并查集维护一下联通情况就行了。 代码 #include<bits/stdc++.h> usingnamespacestd;typedeflonglongll;constintN=1e5+10,P=1e7;charop[5]; intn,m,q,cnt,f[N],root[N],a[N],id[N];structtree{intls,rs,siz;}t[P]; intfind(intx){returnf[x]==x?x:f[x]=find(f[x]);} voidpushup(intrt){t[rt].siz=t[t[rt].ls].siz+t[t[rt].rs].siz;} voidupdate(int&rt,intcur,intl=1,intr=n){ if(!rt)rt=++cnt;t[rt].siz++;if(l==r)return;intmid=(l+r)>>1; cur<=mid?update(t[rt].ls,cur,l,mid):update(t[rt].rs,cur,mid+1,r)

  • c语言是如何实现泛型链表

      最近有看一点Linux内核源码,发现内核里大量使用了list_head结构体。百度查了一下,原来内核利用这个结构体实现了泛型。   自认为对链表已经很熟悉的我,决定自己实现一下。   下面以Node和list_head为例。   上图就是循环链大致思路了。(画的不好)   我们通过list_head对链表进行移动操作。   这里存在几个问题:     首先通过list_head得到的指针,它指向的list_head的结构体,但我们其实想要使用的是Node结构体。     再有,我们要设计一个泛型的链表,那么,我就不可以在实现链表时有任何对Node的操作。   解决办法:     1、通过计算,找到node结构体的首地址。(我们通过一个宏来实现) 1#definelist_entry(ptr,type,member)\ 2((type*)((char*)(ptr)-(char*)(&(((type*)0)->member))))复制     这个宏看起来可能点乱,但我们把思路缕清就不乱了。 我们只知道entry的指针,如何求出Node的指针呢? 如果我们可以知道

  • QtAV播放器

    源码:https://github.com/wang-bin/QtAV/archive/v1.12.0.tar.gz   编译依赖库:http://sourceforge.net/projects/qtav/files/depends/QtAV-depends-windows-x86+x64.7z/download   参考:https://blog.csdn.net/anyuliuxing/article/details/92801348 不为其他,只为快乐!

  • 那些不能错过的Xcode插件

    转自:http://www.cocoachina.com/applenews/devnews/2013/0918/7022.html 古人云“工欲善其事必先利其器”,打造一个强大的开发环境,是立即提升自身战斗力的绝佳途径!以下是搜集的一些有力的XCode插件。   1.全能搜索家CodePilot2.0 你要找的是文件?是文件夹?是代码?NeverMind,CMD+SHIFT+X调出CodePilot,输入任何你想到搜的东西吧!想搜appFinishLaunchingWithOptions?忘记咋拼了?没关系强大的代码搜索能力,appflaun一样也可以找到!超级强大的正则匹配,匹配任何你所想! 项目地址:http://codepilot.cc   2.Vim控必备的XVim XVim是一个针对Xcode的Vim插件,能让开发者在不放弃任何xcode功能的前提下体验vim的功能。 项目地址:https://github.com/JugglerShu/XVim   3.YouCompleteMe(vim的插件) 如果你比较喜欢用vim来写代码的话,这里

  • Sharepoint学习笔记—习题系列--70-576习题解析 -(Q95-Q98)

    Question 95 YourdevelopmentteamhasaskedyoutohelpthemdeterminethecauseofanerrorinadocumentconversioninSharePoint2010.YourteamhascheckedtheUnifiedLoggingService(ULS)andEventlogs,butcannotfindtheerror.YouneedtodirectthemtodiscovermoreinformationintheULSandEventlogstohelpidentifytheerror.Whichapproachshouldyourecommend?A.ExaminetheULSTraceLogviewintheSharePointloggingdatabase.B.DisabletheEventLogFloodProtectionpropertyandtesttheconversionagain.C.Adjustthethrottlingofdocumentconversionevent

相关推荐

推荐阅读