分类目录归档:高并发与大数据

什么是大数据举例说明

目录 1.大数据的定义 2.大数据特点 3.大数据关联技术 4.大数据误区 5.经典的大数据案例 大数据的定义 什么是“大数据”,目前并没有统一的定义。 大数据,指的是所涉及的数据量规模巨大到无法通过主流的工具,在合理的时间内撷取、管理、处理、并整理成为人们所能解读的信息 “。 大,多大算大,月小升觉得所谓得大都是相对的,如果mysql还放得下(本人拙劣的观点超过于2000万条,mysql基本该被NOSQL替代),估计还不够大。 大数据特点 大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。 1.大批量 数据充满了企业,动不动超过TB,PB级别 2. 高速度 数据的时间是越近期的数据,越有意义,而且数据被不断的累积和比较,今年的比较去年的,这个月的比较上个月的,今天的比较昨天得 这个小时比较上个小时,取决于你的系统的效率要求。可以想象一下淘宝的数据,下一秒你访问的记录,会被上一秒的其他用户影响么? 3. 多样化 文本,视频流,图片加载时间,客户访问时间,日程,用户点击流,这种数据看起来凌乱不堪的数据,构成了大数据。思考一下,如果要做用户画像需要多少种数据,客户的性别,年龄,来访次数,停留页面,购物行为流…… 我的 java-er.com 被百度的统计抓了很多数据,也会构成百度的大数据 4.变异性 不同得人对数据的解读不同,所以对数据的要求也不同,数据最终需要被各种组合来进行解读。 5.真实 假数据有毛用 大数据关联技术 1.数据存放 2.数据清洗 3.数据处理 4.数据输出 大数据误区 1.我存得多,所以我牛 无限制的备份,并不能带来什么额外的好处。备份不过为了防止数据丢失,重复数据也没啥好处。所以在数据清洗阶段,重复的数据会被洗掉 2. 我数据很多,而且不重复 数据必须被使用,就如被学以致用的知识,才会有用,被使用的大数据才有用户。比如说,我记录了某客户在你网站上四次翻页的时间间隔:1秒,5秒,27秒,3秒,却忘记标注这时间到底代表了什么,这些数据是信息(非重复性),却不可破译,因此不可能成为智慧。 … 继续阅读

发表在 高并发与大数据 | 标签为 | 留下评论

超过1000并发的apche ab测试

写个Demo,放在目录PHPThread下 <?php //create by java-er.com 2018-7-31 for($i=0;$i< 1000;$i++){ echo $i.’|i am java-er.com’; } 10000请求 并发120 ab -n 10000 -c 120 http://localhost/DEMO/PHPThread/a.php This is ApacheBench, Version 2.3 <$Revision: 1826891 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The … 继续阅读

发表在 Linux, PHP, 高并发与大数据 | 标签为 , | 留下评论

Chrome浏览器Network性能调试

以下为月小升博客总结的Network性能调试文档,欢迎交流 一、Chrome浏览器版本 二、功能区 2.1 启动,停止 2.2 清除记录 2.3 录像浏览器 2.4 关闭开启下一行菜单 2.5 搜索 2.6 View查看更多数据 2.7 时间序列 2.8 分组展示 2.9 URL跳转前历史记录 2.10 是否禁止缓存 2.11 断网和限速测试 三、数据分组区 3.1 Hide data URLS 3.2 All 3.3 XHR 3.4 JS 3.5 CSS 3.6 Img … 继续阅读

发表在 WEB前端, 高并发与大数据 | 标签为 , | 留下评论

数据挖掘知识

1.目标 没有目标的挖掘,不是数据挖掘。要不为了提高用户下单,要不为了提高用户注册。 2.业务知识 这项业务到底在如何影响我的数据挖掘。比如我们的系统是电子商务,用户下单之前经过了多少个步骤,每一个步骤的转化率是什么,那些成单的客户和不成单的客户有什么行为区别。 3.数据准备 收集数据,定义收集什么样的数据,在数据挖掘之前比什么都重要,如果数据的收集工作花费总体数据挖掘的80%的时间,月小升建议你不要惊讶。 4.试验,一个正确的模型只有通过试验(experiment)才能被发现。 数据挖掘者将问题公 式化和寻找解决方法是同时进行的—–算法仅仅是帮助数据挖掘者的一个工具 5.模式,数据总含有模式 客户关系的数据挖掘项目,总是存在着这样的模式即客户未来的行为总是和先前的行为相关,显然这些模式是有利可图的。 所有得分析都为了找到共同点,抽取出一个公式来定义我的购买用户到底有哪些行为?哪些不购买的用户有什么共同点呢? David Watkins 6. 洞察:数据挖掘增大对业务的认知。 思考:为什么数据挖掘必须是一个业务过程而不是一个技术过程 7.预测 预测提高了信息泛化能力。 分类、回归、聚类和关 联算法以及他们集成模型有什么共性呢?答案在于“评分”,这是预测模型应用到一个新样例的方式 8,价值 数据挖掘的结果的价值不取决于模型的稳定性或预测的准确性。 9,变化:所有的模式因业务变化而变化。一句玄学的话月小升java-er.com建议忽略此句话 数据分析师 http://www.cda.cn/view/18916.html CRISP-DM CRISP-DM 模型为一个KDD工程提供了一个完整的过程描述。该模型将一个KDD工程分为6个不同的,但顺序并非完全不变的阶段。 商业理解(business understanding) 在这第一个阶段我们必须从商业的角度了解项目的要求和最终目的是什么,并将这些目的与数据挖掘的定义以及结果结合起来。 主要工作包括:确定商业目标,发现影响结果的重要因素,从商业角度描绘客户的首要目标,评估形势,查找所有的资源、局限、设想以及在确定数据分析目标和项目方案时考虑到的各种其他的因素,包括风险和意外、相关术语、成本和收益等等,接下来确定数据挖掘的目标,制定项目计划。 数据理解(data understanding) 数据理解阶段开始于数据的收集工作。接下来就是熟悉数据的工作,具体如:检测数据的量,对数据有初步的理解,探测数据中比较有趣的数据子集,进而形成对潜在信息的假设。收集原始数据,对数据进行装载,描绘数据,并且探索数据特征,进行简单的特征统计,检验数据的质量,包括数据的完整性和正确性,缺失值的填补等。 数据准备(data preparation) 数据准备阶段涵盖了从原始粗糙数据中构建最终数据集(将作为建模工具的分析对象)的全部工作。数据准备工作有可能被实施多次,而且其实施顺序并不是预先规定好的。这一阶段的任务主要包括:制表,记录,数据变量的选择和转换,以及为适应建模工具而进行的数据清理等等。 根据与挖掘目标的相关性,数据质量以及技术限制,选择作为分析使用的数据,并进一步对数据进行清理转换,构造衍生变量,整合数据,并根据工具的要求,格式化数据。 … 继续阅读

发表在 高并发与大数据 | 标签为 , | 留下评论

mysqlreport 安装,报表详解,mysql性能优化

yum install mysqlreport mysqlreport –host=java-er.com –user=admin –password=**** MySQL 5.1.73 uptime 0 6:39:54 Thu Jul 12 01:08:23 2018 __ Key _________________________________________________________________ # 在my.cnf文件中的key_buffer_size定义索引缓存的大小, 缺省是8M, 可考虑设置为512M [mysqld] key_buffer_size = 512M Buffer used 1.08M of 8.00M %Used: 13.52 Current 2.53M %Usage: 31.68 Write … 继续阅读

发表在 数据库, 高并发与大数据 | 标签为 , , | 留下评论

负载均衡如何做,负载均衡的几个方案

1.硬件负载均衡 一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用; 2.软件负载均衡 LVS/HAProxy、Nginx的基于Linux的开源免费的负载均衡软件策略,这些都是通过软件级别来实现,所以费用非常低廉,所以我个也比较推荐大家采用第二种方案来实施自己网站的负载均衡需求。 在软件负载均衡里,只要买几个服务器,安装软件就好了 合理的软件方案:Nginx/HAProxy+Keepalived作Web最前端的负载均衡器,后端的MySQL数据库架构采用一主多从,读写分离的方式,采用LVS+Keepalived的方式。 3.本地负载均衡技术 本地负载均衡技术是对本地服务器群进行负载均衡处理。该技术通过对服务器进行性能优化,使流量能够平均分配在服务器群中的各个服务器上,本地负载均衡技术不需要购买昂贵的服务器或优化现有的网络结构。 4.全局负载均衡技术 全局负载均衡技术适用于拥有多个低于的服务器集群的大型网站系统。全局负载均衡技术是对分布在全国各个地区的多个服务器进行负载均衡处理,该技术可以通过对访问用户的IP地理位置判定,自动转向地域最近点。很多大型网站都使用的这种技术。 5.链路集合负载均衡技术 链路集合负载均衡技术是将网络系统中的多条物理链路,当作单一的聚合逻辑链路来使用,使网站系统中的数据流量由聚合逻辑链路中所有的物理链路共同承担。这种技术可以在不改变现有的线路结构,不增加现有带宽的基础上大大提高网络数据吞吐量,节约成本。 三种软件负载均衡 LVS负载均衡的特点是: 1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的; 2、配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率; 3、工作稳定,自身有完整的双机热备方案,如LVS+Keepalived和LVS+Heartbeat,不过我们在项目实施中用得最多的还是LVS/DR+Keepalived; 4、无流量,保证了均衡器IO的性能不会收到大流量的影响; 5、应用范围比较广,可以对所有应用做负载均衡; 6、软件本身不支持正则处理,不能做动静分离,这个就比较遗憾了;其实现在许多网站在这方面都有较强的需求,这个是Nginx/HAProxy+Keepalived的优势所在。 7、如果是网站应用比较庞大的话,实施LVS/DR+Keepalived起来就比较复杂了,特别后面有Windows Server应用的机器的话,如果实施及配置还有维护过程就比较复杂了,相对而言,Nginx/HAProxy+Keepalived就简单多了。 Nginx负载均衡的特点是: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是许多朋友喜欢它的原因之一; 2、Nginx对网络的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势所在; 3、Nginx安装和配置比较简单,测试起来比较方便; 4、也可以承担高的负载压力且稳定,一般能支撑超过几万次的并发量; 5、Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测; 6、Nginx仅能支持http和Email,这样就在适用范围上面小很多,这个它的弱势; 7、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器。LNMP现在也是非常流行的web架构,大有和以前最流行的LAMP架构分庭抗争之势,在高流量的环境中也有很好的效果。 8、Nginx现在作为Web反向加速缓存越来越成熟了,很多朋友都已在生产环境下投入生产了,而且反映效果不错,速度比传统的Squid服务器更快,有兴趣的朋友可以考虑用其作为反向代理加速器。 HAProxy负载均衡的特点是: 1、HAProxy是支持虚拟主机的,以前有朋友说这个不支持虚拟主机,我这里特此更正一下。 2、能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作 3、支持url检测后端的服务器出问题的检测会有很好的帮助。 4、它跟LVS一样,本身仅仅就只是一款负载均衡软件;单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的。 5、HAProxy可以对Mysql读进行负载均衡,对后端的MySQL节点进行检测和负载均衡,不过在后端的MySQL slaves数量超过10台时性能不如LVS,所以我向大家推荐LVS+Keepalived。 6、HAProxy的算法现在也越来越多了,具体有如下8种: ①roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的; … 继续阅读

发表在 Linux, 高并发与大数据 | 标签为 , , | 留下评论

数据大规模插入效率问题

CSDN网友问: 目前有一个需求,用户需要在短时间内将几万条数据导入 MSSQL 数据库。 如果有一条无法导入,需要知道是哪条数据出的错。 导入之前最好还要根据条件验证一下数据是否存在,存在就删除。 现在我一条一条判断导入,非常缓慢。 请问有什么好的思路么? 月小升答: 你慢在搜索上。每次检查会相当消耗资源 1.如果数据有关键字段,能表示重复 比如用户ID号userid。那么把这个字段userid做唯一索引(插入的时候进行try catch 遇到重复会自动被catch,你就知道哪条重复了)被插入的永远都是不重复的 2.如果没有关键字段,所有字段合并做MD5值,单独加个字段叫md 做成唯一索引,然后try catch,原理和1相同 数据库的插入效率很高,搜索效率却很低。主要你要扫描的记录会越来越多,所以搜索会慢。避免搜索就变线性时间了。 (几万条数据,玩的还算比较少,我用这个办法玩过1000万的数据)

发表在 JAVA, 高并发与大数据 | 标签为 , , | 留下评论

百度挂了,百度技术太自信?

百度前一阵为了记录每条记录被点击的次数,改成每条记录的点击都经过一个URL进行跳转。 这个规则也被各种SEO玩家,充分作弊。 今天扛不住了。 百度的跳转地址

发表在 互联网观察, 高并发与大数据 | 标签为 , , , | 一条评论

mysql too many open connections解决

曾经以为在my.cnf写入max_connections = 2000 就可以改变mysql的最大并发量,今天查到一个命令,发现服务器的mysql最大连接数为151. 控制台,连接上mysql show variables; 这条命令可以看到所有基础配置 如果单独看max_connections可以这样 show variables like ‘max%’; +—————————-+————+ | Variable_name | Value | +—————————-+————+ | max_allowed_packet | 1048576 | | max_binlog_cache_size | 4294963200 | | max_binlog_size | 1073741824 | | max_connect_errors | 10 | … 继续阅读

发表在 数据库, 高并发与大数据 | 标签为 , , , | 留下评论

redis访问权限控制,密码设置

redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护。 1.比较安全的办法是采用绑定IP的方式来进行控制。 bind 127.0.0.1 表示仅仅允许通过127.0.0.1这个ip地址进行访问。那么其实只有自己才能访问自己了,其他机器都无法访问他。 这段命令要去redis.conf里修改。 这里请注意 我们常用的启动方式src/redis-server 改为src/redis-server redis.conf 因为它需要加载配置文件。 这个方法有一点不太好,我难免有多台机器访问一个redis服务 2.设置密码,以提供远程登陆 redis.conf 找到 requirepass 写上 requirepass yourpassword 设置密码以后发现可以登陆,但是无法执行命令了。 src/redis-cli -h 192.168.1.121 keys * (error) ERR operation not permitted 授权命令 auth 123456 登陆带密码方式 ./redis-cli -h 192.168.1.121 -a abcd 由于redis并发能力极强,仅仅搞密码,攻击者可能在短期内发送大量猜密码的请求,很容易暴力破解,所以建议密码越长越好,比如20位。(密码在 … 继续阅读

发表在 Linux, 高并发与大数据 | 标签为 , , , | 留下评论