Memcached深度解析:Mixi案例驱动的高效应用与服务器配置

0 下载量 183 浏览量 更新于2024-08-27 收藏 230KB PDF 举报
memcached全面剖析——第5部分着重探讨了memcached在大规模互联网服务中的实际应用和兼容性。以日本社交网站mixi为例,该网站在早期就引入了memcached来应对日益增长的用户访问量。随着流量激增,仅仅依靠数据库的读写分离(通过添加slave)已经无法满足性能需求,memcached因其高效的速度和稳定性成为关键组件。 mixi的基础设施包含众多服务器类型,包括数据库服务器、应用服务器、图片服务器和反向代理服务器。其中,memcached服务器更是多达200台,配置上采用了高性能的Intel Pentium 4处理器(2.8GHz)、4GB内存和146GB的SCSI硬盘,运行在Linux(x86_64)操作系统环境中。这些服务器的更换策略是基于CPU性能提升和内存成本下降,目的是减少服务器数量,降低管理和维护成本。 每个memcached进程仅运行一个实例,使用3GB内存,并通过命令行启动,例如`/usr/bin/memcached-p11211-unobody-m3000-c30720`。考虑到64位系统的内存优势,mixi选择使用x86_64平台以最大化内存利用,避免了在32位系统中因内存限制而启动多个进程的问题,这可能导致复杂的网络连接管理。 值得注意的是,尽管服务器总内存为4GB,但memcached只分配3GB,这是因为预留一部分内存用于slab allocator(内存分配器),这是一种内存管理机制。memcached启动时指定的内存大小不包括自身内存开销和数据管理所需的额外空间。通过合理的内存分配,mixi确保了memcached的高效运行和内存资源的有效使用。 memcached在mixi的架构中扮演着至关重要的角色,它通过优化内存管理和利用分布式缓存技术,提高了服务的性能、稳定性和可扩展性,使得网站能够承受高负载的同时保持低成本的运维。