网站运营总结
1.大访问量
2.大储存量
3.访问速度
4.服务器监控
一、大访问量
a.负载均衡
1)Cisco以太网通道
2)Windows NLB技术
3)Linux LVS技术
一般来说,LVS集群采用三层结构、负载调度器,服务器池、共享存储主要部分组成。
4)F5等负载均衡器
b.冗余技术
1)Cisco HSRP热备份路由(线路冗余)
2)Windows集群技术(服务器冗余)
3)Linux HA集群技术(服务器冗余)
4)IBM AIX集群(服务器冗余)
服务器集群,就是将很多服务器集中起来一起进行同一种服务,在客户端看起来就像是只有一个服务器,集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行,防止出现单点故障。
二、大数据存储
主流数据库:
1)Mysql
Mysql主从
Mysql分库分表
Mysql分区技术
水平分表技术将一个表拆成多个表,比较常用的方式是将表中的记录按照某种Hash算法进行拆分,简单的拆分方法如取模方式。同样,这种分区方法也必须对前端的应用程序中的SQL进行修改方可使用。而且对于一个SQL,它可能会修改二个表,那么你必须得写成2个SQL语句从而可以完成一个逻辑的事务,使得程序的判断逻辑越来越复杂,这样也会导致程序的维护代价高,也就失去了采用数据库的优势。因此,分区技术可以有力地避免如上的弊端,成为解决海量数据存储的有力方法。
Mysql集群
2)Oracle
3)Db2
4)Nosql
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
三、网站速度加速
1)Squid代理缓存技术
Squid反向缓存-动静分离
a)什么是静态数据
静态页面、图片/FLUSH、CSS文件、JS文件
b)什么是动态数据
根据用户的请求从服务器的数据库中或文件获取的记录
分离静态和动态数据,需要用到反向代理squid解决,Squid cache(简称为Squid)是一个流行的自由软件的代理服务器和Web缓存服务器。
普通代理服务的典型应用环境
squid反向代理
2)页面静态化缓存
3)Memcache
4)Sphinx搜索加速
Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。
四、网站服务、流量监控
1.服务监控
1)apache web服务监控
2)mysql数据库监控
3)磁盘空间监控
2.流量监控
1)网站流量监控
Linux邮件系统
1)postfix发邮件系统
2)sendmail发邮件系统
3)dovecot收邮件系统
电子邮件的传输过程
Apahce压力测试-ab
1.apache自带的压力测试软件ab测试
2.apache benchmark,apache基准测试工具
3.由httpd-2.2.3-43.e15.contos软件提供
4.ab压力测试时,可能要创建很多测试文件并删除
Mysql压力测试-mysqlslap
MySQL从5.1.4版开始自带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单