高性能服务器笔记

来源:互联网 发布:十天学会单片机百度云 编辑:程序博客网 时间:2024/06/06 11:46

协议:

应用服务器

Nginx:

大数据时代,网站要求的并发需求急速上升,nginx应运而生。相对于apache,nginx更适合作代理服务器和负载均衡服务器。

Skynet:

开源的相对完整的游戏服务器不多,skynet算是一个比较好的游戏服务器,至少对于手游来说。

内存

TCMalloc:

web加速(缓存服务器)

varnish:

在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了CPU内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此Squid Cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。

分布式内存对象缓存

memcached:

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。Memcached在很多时候都是作为数据库前端cache使用的。因为它比数据库少了很多SQL解析、磁盘操作等开销,而且它是使用内存来管理数据的,所以它可以提供比直接读取数据库更好的性能。

备份软件

bacula:

如果业务系统数据量巨大,每天都在迅速增长,还需要以tar打包方式进行低级备份,并且没有相应的异地容灾策略时,那么就应该考虑使用bacula。bacula拥有一个完美的增量备份功能,同时还支持远程容灾备份。通过bacula,可以将数据备份到任意一个远程主机上,用户只需要对bacula进行简单的设置即可自动完成数据备份。

镜像备份

rsync可以实现数据的单项同步,通过触发机制实现本地和异地数据的定时镜像备份。而unison是一个双向同步工具,可以实现本地或异地数据的互相同步,并且可以实现增量备份。

反删除

Linux作为企业级服务器,数据的安全性至关重要,任何数据的丢失和误删除都是不可容忍的。做为系统管理员,一定要有数据保护意识,不但要对服务器数据进行定期备份,而且还要具有在误删数据后将其快速恢复的技能。ext3grep可以快速、准确地恢复误删除的数据。

运维监控

Nagios是系统管理人员和运维监控人员必需的工具之一,利用Nagios可以监控本地或远程主机资源,如磁盘空间、系统负载等情况,也可以监控各种应用服务,例如HTTP服务、FTP服务等。

性能分析与优化

找到系统性能的瓶颈

操作系统完成一个任务是与系统自身设置、网络拓扑结构、路由设备、路由策略、接入设备、物理线路等多个方面密切相关的,任何一个环节出现问题,都会影响整个系统的性能。因此,当Linux应用出现问题时,应当从应用程序、操作系统、服务器硬件、网络环境等方面综合排查,定位问题出现在哪个部分,然后集中解决。

查找系统性能瓶颈是个复杂而耗时的过程,需要在应用程序、操作系统、服务器硬件、网络环境等方面进行查找和定位,影响性能最大的是应用程序和操作系统两个方面,因为这两个方面出现的问题不易察觉,隐蔽性很强。而硬件、网络方面出现的问题,一般都能马上定位。一旦找到了系统性能问题,解决起来就非常迅速和容易,例如发现系统硬件存在问题,如果是物理故障,那么更换硬件就可以了,如果是硬件性能不能满足需求,升级硬件就可以了;如果发现是网络问题,比如带宽不够、网络不稳定,只需优化和升级网络即可;如果发现是应用程序问题,修改或优化软件系统即可;而如果是操作系统配置问题,修改系统参数、修改系统配置即可。 可见,只要找到了性能瓶颈,就可以提供性能优化方案,有标准、有目的地进行系统优化。

LVS负载均衡集群

LVS可以实现高可用的、可伸缩的Web、Mail、Cache和Media等网络服务。并在此基础上开发支持庞大用户数的、可伸缩的、高可用的电子商务应用。

LVS具有很好的可伸缩性、可靠性和可管理性,通过LVS要实现的最终目标是:利用Linux操作系统和LVS集群软件实现一个高可用、高性能、低成本的服务器应用集群。

MySQL+hearbeat+DRBD+LVS集群应用系统

在企业应用中,MySQL+hearbeat+DRBD+LVS是一套成熟的集群解决方案,通过heartbeat+DRBD完成MySQL的主节点写操作的高可用性,而通过MySQL+LVS实现MySQL数据库的主从复制和MySQL读操作的负载均衡。整个方案在读写方面进行了分离,融合了写操作的高可用和读操作的负载均衡,是一个完美而又廉价的企业应用解决方案。

0 0