Web服务器的性能估计
在给客户做方案的时候,或者在软件设计的时候,或者在软件测试的时候,我们经常会估算我们的web应用程序的性能。这样,我们才能正确的设计方案。 如果估算误差太大,你给客户的方案是10台服务器,实际部署时确需要20台机器,客户绝对要疯了。同样对我们的代码设计和测试方案影响重大。 那么在带宽和内存都很充足的情况下我们如何大致估算出一个web应用程序的性能呢?...
View Article使用四种框架分别实现1百万websocket常连接的服务器
著名的 C10K问题提出的时候, 正是 2001 年。这篇文章可以说是高性能服务器开发的一个标志性文档,它讨论的就是单机为1万个连接提供服务这个问题,当时因为硬件和软件的限制,单机1万还是 一个非常值得挑战的目标。但是时光荏苒,随着硬件和软件的飞速发展,单机1万的目标已经变成了最简单不过的事情。现在用任何一种主流语言都能提供单机...
View Article微信红包的架构设计简介
来源于QCon某高可用架构群整理,整理 by 朱玉华。 背景:有某个朋友在朋友圈咨询微信红包的架构,于是乎有了下面的文字(有误请提出,谢谢) 概况:2014年微信红包使用 数据库硬抗整个流量,2015年使用 cache抗流量。微信的金额什么时候算?答:微信金额是拆的时候实时算出来,不是预先分配的,采用的是纯内存计算,不需要预算空间存储。...
View Article用“逐步排除”的方法定位Java服务线上“系统性”故障
李斯宁(高级测试开发工程师)一、摘要由于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java服务线上“系统性”故障。二、导言Java语言是广泛使用的语言,它具有跨平台的...
View Article每个Python程序员都要知道的日志实践
在现实生活中,记录日志非常重要。银行转账时会有转账记录;飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切。如果有出现什么问题,人们可以通过日志数据来搞清楚到底发生了什么。 对于系统开发、调试以及运行,记录日志都是同样的重要。如果没有日志记录,程序崩溃时你几乎就没办法弄明白到底发生了什么事情。举个例子,当你在写一个服务器程序时,记录日志是非常有必要的。下面展示的就是...
View Articlemysql分表
第一种分表方法: 通过merge生成合并表的形式,该方法用于已经存在的大表需要分表的情况举例情况:good表中有300万条数据,需要分成2个分表g1和g2 步骤1:备份good表,以免操作失败,用于恢复数据 步骤2:将good表中的数据分摊到分表中去: 1.使用程序处理, 2.在mysql中使用 create table g1 select * from good...
View ArticleScrum——在变化中求进化
贾儒(高级开发工程师)移动互联网当道的今天,变化已经是大家习以为常的事情了。也许昨天还在街边苦等久久不来的出租车,今天已经可以在手机上点点预约车辆准时到达门口。优秀的产品带来了生活习惯、甚至生活方式的变化,这是从前无法想象的。在这背后则是互联网产品服务的变化,在这个大潮中,“进化”的周期变得越来越短,大家也许还记得当年各大杀毒软件厂商,每年才会发布一个新的功能版本,而如今几乎每一天大家的手机上都会收...
View Article让Apache 和nginx支持跨域访问
1,如何让Apache支持跨域访问呢? 步骤:修改httpd.conf,windows中对应的目录是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf把LoadModule headers_module modules/mod_headers.so 前面的注释删除修改 改为: 即:<Directory />...
View Article程序员必读的六本书
作为一名程序员,日常的工作除了上班撸代码就是加班撸代码了。撸码其实不难,无非询问Google,StackOverflow,解决方法和demo一箩筐,可是撸的一手好代码着实不易。无独有偶,码农一抓一大把,优秀的程序员却不易寻觅。优秀的程序员既不可能出自各种天花乱坠的培训机构,更不可能来自挖掘机摇篮山东布鲁斯特,大多数优秀的程序员有一个共同点,那就是自学。为什么是自学呢?首先大学的教育不可能让你成为专家...
View Article从腾讯、奇虎 360 到阿里巴巴,想抢百度搜索市场的它们最后都挤到了一条路上
搜索市场是一块大蛋糕,而且有着成熟的商业模式,Google 每个季度 100 多亿美元的净利润大多数都来自搜索引擎这个印钞机。现在,由于 Google 在中国市场不给力,国内的搜索引擎市场基本是被百度垄断,但即便这样,还是有一些资源雄厚的大公司想把百度手里的这块大蛋糕切一块自己来享用。2012 年,奇虎 360 的 360 搜索上线不久后就拿下了 10 % 的市场份额。这让自从 Google...
View ArticleJAVA性能优化调查结果(第二部分)
原文地址原作者:Nikita Salnikov Tarnovski 译者 严亮 校对:方腾飞(清英)这是我们在2014年10月做的性能调优调查结果系列的第2部分,如果您还没读过 第1部分。我推荐先读第1部分。第2部分我们关注Java应用性能的监控问题。我们特别要尝试弄清楚下面几个问题:如何发现性能问题这些问题都有什么样的表现这些问题有多少会影响最终用户使用什么工具监控应用发现性能问题...
View Articlemysql索引认识
索引原理:数据在磁盘中是以 “块”的形式存储的,所以一张表涉及的数据可能会存在多个块中,而在磁盘中查询数据则会根据字段是否为有序与无序来区分,无序情况:1.数值具有唯一性则需要查找 总块数/2 2.无序+无唯一性则需要查找 总块数 有序情况:1.数值唯一性:log2(总块数/2) (log2是二分查找算法)...
View Article6月全球搜索引擎市场:百度被Bing取代 排名跌至第四
199IT原创编译根据市场研究公司Net Applications最新数据显示,在6月份,全球搜索引擎市场份额冠军依然是Google – Global,占据70.80%的市场份额,环比上月,增加2.26%。Bing与Yahoo –...
View Article数据驱动的界面设计
[国外设计第93期]“仪表板”、“大数据”、“数据可视化”、“数据分析”——越来越多人和企业,开始运用他们的数据来做一些有趣的事情。在我的职业生涯中,有幸参与一大批数据为重的界面设计,我要在此分享一些观点,讲讲如何造就这种特殊且有意义的产品。很多人已经讨论过这个议题,我会围绕创作过程中最具影响力的部分。1....
View ArticleXSS 探索 - big-brother
1. 什么是XSS攻击?正常的页面被渗出了攻击者的js脚本,这些脚本可以非法地获取用户信息,然后将信息发送到attacked的服务端。XSS是需要充分利用输出环境来构造攻击脚本的2. 危害非法获取用户cookie、ip等内容窃取用户输入的内容劫持浏览器,形成DDOS攻击3. 类型Reflected XSS:可以理解为参数型XSS攻击,攻击的切入点是url后面的参数 // 合法页面 url:...
View Article两款免费的Android应用代码安全检测工具
FreeBuf前不久刚刚 报道过,美图秀秀、gReader、福昕PDF阅读器等14款Android应用易遭中间人攻击。今天,央视《...
View Articledbcp基本配置和重连配置
最近在看一些dbcp的相关内容,顺便做一下记录,免得自己给忘记了。 1. 引入dbcp (选择1.4)Java代码 <dependency> <groupId>com.alibaba.external</groupId> <artifactId>jakarta.commons.dbcp</artifactId>...
View Article解读dbcp自动重连那些事
数据库链接 常见的问题:1. 数据库意外重启后,原先的数据库连接池能自动废弃老的无用的链接,建立新的数据库链接2. 网络异常中断后,原先的建立的 tcp 链接,应该能进行自动切换。比如网站演习中的交换机重启会导致网络瞬断3. 分布式数据库中间件,比如 cobar 会定时的将空闲链接异常关闭,客户端会出现半开的空闲链接。 大致思考解决思路:1. sql 心跳检查 ( 主动式 )2....
View Article