本帖最后由 易大师 于 2023-12-18 10:09 编辑
1、静态HTML 我们都知道,少消耗的是纯静态HTML页面,所以我们尽量让网站上的页面采用静态页面。 2、图像服务器分离 众所周知,对于web服务器,无论是Apache、IIS还是其他容器,映像都是消耗资源的。因此,有必要将图像与页面分开。这是大型网站将采用的策略。它们都有独立的甚至多个图像服务器。该体系结构可以减轻服务器系统提供页面访问请求的压力,保证系统不会因图像问题而崩溃。 在应用服务器和镜像服务器上,可以进行不同的配置优化。例如,在配置内容类型时,Apache可以提供尽可能少的加载模块,以确保更高的系统消耗和执行效率。 3、数据库群集,数据库表哈希 大型网站有复杂的应用程序,这些应用程序必须使用数据库,所以面对大量的访问量,数据库的瓶颈很快就会出现,这时一个数据库很快就无法满足应用程序,所以需要使用数据库集群或数据库表哈希。 在数据库集群方面,许多数据库都有自己的解决方案。Oracle和Sybase有很好的解决方案。MySQL提供的常用的master/slave也是一个类似的解决方案。您可以参考相应的解决方案来实现您使用的数据库类型。&Emsp;&Emsp;上述数据库集群在架构、成本和可扩展性方面受到数据库类型的限制。因此,我们需要从应用的角度考虑对系统架构进行改进。数据库表哈希是一种常见且有效的解决方案。 我们在应用程序中安装业务和应用程序或功能模块,将数据库分开。不同的模块对应于不同的数据库或表。然后,根据一定的策略,对一个页面或函数(如用户表)进行较小的数据库哈希,并根据用户ID对该表进行哈希,这样可以在低成本和良好扩展性的前提下提高系统的性能。 搜狐论坛采用这种架构,将论坛的用户、设置、帖子等信息从数据库中分离出来,然后根据车牌号和ID对帖子和用户的数据库和表格进行哈希,在配置文件中进行简单的配置,这样系统就可以增加一个低成本的数据库来补充系统的性能。 4、缓存 缓存技术在很多地方都有应用.net站架构和缓存在网站开发中也非常重要。让我们来讨论两种基本的缓存类型。 在架构方面,熟悉Apache的人可以知道Apache提供了自己的缓存模块,还可以使用额外的squid模块进行缓存。这两种方法可以有效地提高Apache的访问响应能力。 对于网站程序开发,Linux上提供的memorycache是一个通用的缓存接口,可用于web开发。例如,使用Java开发时,可以调用memorycache来缓存和共享一些数据。一些大型社区使用这种架构。另外,在使用web语言开发时,各种语言基本上都有自己的缓存模块和方法。PHP有pear的缓存模块,而Java则更多。Net对它不是很熟悉。我想一定是的。 5、镜像 图像是提高大型网站性能和数据安全性的一种方法。图像技术可以解决不同网络接入商和地区带来的用户访问速度差异。例如,Chinanet和EduNet的差异促使许多网站在教育网中建立镜像站点,并定期或实时更新数据。在图像技术的细节方面,这里不是太深,有很多专业现成的解决方案架构和产品可供选择。还有一些廉价的想法可以通过软件实现,比如Linux上的Rsync。 6、负载平衡 负载均衡将是大型网站解决高负载访问和大量并发请求的高等解决方案。 随着负载均衡技术多年的发展,有许多专业的服务提供商和产品可供选择。我亲自接触过一些解决方案,有两种架构可以参考。 (1)硬件层4交换 第四层利用第三层和第四层分组的报头信息,根据应用间隔识别业务流,并将整个间隔的业务流分配给适当的应用服务器进行处理。 第四层是物理交换功能,就像虚拟交换功能一样。它传输的服务受各种协议的约束,包括HTTP、FTP、NFS、telnet或其他协议。这些服务需要基于物理服务器的复杂负载平衡算法。在IP**中,业务类型由终端TCP或UDP端口地址决定,而第四层交换中的应用范围则由源和终端IP地址、TCP和UDP端口决定。&在硬件四层交换产品领域,有一些有名产品可供选择,如Alteon、F5等。这些产品很贵,但它们值这个价。它们可以提供灵活的管理能力。”雅虎中国“有近2000台服务器,只有三四台Alteon服务器被使用。
|