大型网站常见问题

网站运营总结

1.大访问量

2.大储存量

3.访问速度

4.服务器监控

一、大访问量

a.负载均衡

1)Cisco以太网通道

2)Windows NLB技术

3)Linux LVS技术

大型网站常见问题_第1张图片

一般来说,LVS集群采用三层结构、负载调度器,服务器池、共享存储主要部分组成。

大型网站常见问题_第2张图片

4)F5等负载均衡器

大型网站常见问题_第3张图片

b.冗余技术

1)Cisco HSRP热备份路由(线路冗余)

大型网站常见问题_第4张图片

2)Windows集群技术(服务器冗余)

3)Linux HA集群技术(服务器冗余)

4)IBM AIX集群(服务器冗余)

服务器集群,就是将很多服务器集中起来一起进行同一种服务,在客户端看起来就像是只有一个服务器,集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行,防止出现单点故障。

大型网站常见问题_第5张图片

二、大数据存储

主流数据库:

1)Mysql

大型网站常见问题_第6张图片

Mysql主从

大型网站常见问题_第7张图片

Mysql分库分表

大型网站常见问题_第8张图片

Mysql分区技术

水平分表技术将一个表拆成多个表,比较常用的方式是将表中的记录按照某种Hash算法进行拆分,简单的拆分方法如取模方式。同样,这种分区方法也必须对前端的应用程序中的SQL进行修改方可使用。而且对于一个SQL,它可能会修改二个表,那么你必须得写成2个SQL语句从而可以完成一个逻辑的事务,使得程序的判断逻辑越来越复杂,这样也会导致程序的维护代价高,也就失去了采用数据库的优势。因此,分区技术可以有力地避免如上的弊端,成为解决海量数据存储的有力方法。

大型网站常见问题_第9张图片

Mysql集群

大型网站常见问题_第10张图片

2)Oracle

大型网站常见问题_第11张图片

3)Db2

大型网站常见问题_第12张图片

4)Nosql

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

三、网站速度加速

1)Squid代理缓存技术

Squid反向缓存-动静分离

a)什么是静态数据

  静态页面、图片/FLUSH、CSS文件、JS文件

b)什么是动态数据

  根据用户的请求从服务器的数据库中或文件获取的记录

分离静态和动态数据,需要用到反向代理squid解决,Squid cache(简称为Squid)是一个流行的自由软件的代理服务器和Web缓存服务器。

普通代理服务的典型应用环境

大型网站常见问题_第13张图片

squid反向代理

大型网站常见问题_第14张图片

2)页面静态化缓存

3)Memcache

大型网站常见问题_第15张图片

4)Sphinx搜索加速

Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。

大型网站常见问题_第16张图片

四、网站服务、流量监控

1.服务监控

1)apache web服务监控

2)mysql数据库监控

3)磁盘空间监控

2.流量监控

1)网站流量监控

Linux邮件系统

1)postfix发邮件系统

2)sendmail发邮件系统

3)dovecot收邮件系统

电子邮件的传输过程

大型网站常见问题_第17张图片

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来执行测试,使用起来非常的简单

你可能感兴趣的:(mysql)