商品库MySQL优化实践:内存与IO性能提升
需积分: 10 70 浏览量
更新于2024-08-15
收藏 112KB PPT 举报
"系统资源规划-商品库MySQL优化实践"
在本次实践中,主要关注的是如何针对淘宝的商品库MySQL进行有效的优化,以确保系统的高可用性、高性能和平稳运行。以下是具体的优化策略和技术细节:
1. **内存分配**:
- **MySQL**:MySQL数据库是整个系统的核心,内存的合理分配对提升其性能至关重要。在这里,内存被主要用于InnoDB存储引擎的Buffer Pool。
- **InnoDB buffer pool**:InnoDB Buffer Pool是InnoDB存储引擎缓存数据和索引的地方,通过预加载数据到内存,可以显著减少磁盘I/O操作,提高读取速度。对于大规模商品库,需要确保Buffer Pool足够大,以容纳最常访问的数据。
- **OS pagecache**:操作系统层面的页缓存用于存储文件系统的数据,当应用程序读取文件时,可以直接从pagecache中获取,避免了频繁的磁盘交互。
- **驱动程序**:内存分配也涉及到驱动程序,如RAID卡的缓存,确保驱动程序能够有效地利用内存来优化I/O性能。
2. **IO能力分配**:
- **读能力**:为了提高IOPS(每秒输入/输出操作次数),优化了读取操作,特别是零散读取,这通常涉及调整SQL查询以减少随机I/O并增加顺序读取。
- **写能力**:优化了写入操作,通过集中写入来提高系统的吞吐量。这可能包括批量写入和日志重做缓冲,以减少写磁盘的频率。
3. **Cache分配**:
- **MySQL内部cache**:MySQL的查询缓存可以存储最近执行过的SQL语句及其结果,以供后续快速重复使用。
- **匿名页面/文件页面**:系统可能会缓存无文件映射的内存页面,以减少物理I/O。
- **Flashcache**:使用PCI-E Flash卡作为混合存储,如Fusion-io ioDrive,它提供高速、低延迟的存储缓存,显著提升系统整体的IO性能。
- **Raid卡内部cache**:RAID卡自身的缓存也起到了关键作用,可以加速数据的读写过程。
4. **硬件选择**:
- **主机**:选择了Dell PowerEdge C2100服务器,具备良好的扩展性和稳定性。
- **处理器**:配置了强大的多核处理器,物理核心2个,虚拟核心24个,提供了足够的计算能力。
- **内存**:96GB的大内存配置,确保了Buffer Pool和其他缓存的有效利用。
- **RAID卡**:LSI MegaSAS 9260搭配512MB内存,为硬盘I/O提供了高性能支持。
- **PCI-E Flash卡**:Fusion-io ioDrive提供了高速的闪存存储,用于提升系统响应速度。
- **硬盘**:选择了Seagate ST3300657SS 300G硬盘,组建RAID以保证数据冗余和性能。
5. **软件选择**:
- **操作系统**:使用Red Hat Enterprise Linux Server release 5.4,稳定且兼容性强。
- **内核**:选择了Kernel 2.6.18-164.el5,以支持所需的特性和优化。
- **文件系统**:使用Ext3文件系统,虽然不是最新,但稳定性良好。
- **Flashcache**:使用内部版本的Flashcache,以实现额外的存储层缓存。
6. **技术方案**:
- **MySQL数据集群**:通过数据水平切割和主从复制,实现了高可用性和负载均衡。
- **高性价比服务器**:选择PC服务器,结合大内存和强劲CPU,确保性能和成本的平衡。
- **利用系统缓存**:充分利用各种缓存机制,降低硬件压力。
- **全面考虑容灾**:在设计上考虑了数据安全和容灾策略,确保系统的稳定运行。
通过这些综合的优化措施,商品库的MySQL系统在保持高可用性和安全性的同时,实现了性能的大幅提升,并有效降低了运维风险。优化实践的成功在于细致的资源规划和灵活的技术应用。
2021-10-05 上传
2020-03-30 上传
2021-09-28 上传
2024-10-27 上传
2024-10-26 上传
2024-11-09 上传
2024-10-28 上传
2024-11-10 上传
2024-11-11 上传
ServeRobotics
- 粉丝: 38
- 资源: 2万+
最新资源
- C++ Ethernet帧封装_解析_多线程模拟发送消息
- dental-surgery:ASP.NET MVC在牙科手术中的应用
- 美国马里兰大学电池测试数据6:CS2+CX22 (2)
- atom-editor-package:原子游戏引擎的原子编辑器包
- nrraphael.github.io
- golegal:计算围棋中的合法位置数
- AT89C2051+AT24C128+FLEX10K10LC84(Altera的FPGA芯片)+7805+有源时钟组成的原理图
- electricblocks.github.io:电动块的官方网站和文档
- MySQL学习记录,持续更新。.zip
- 客户关系管理
- 基于高斯-拉普拉斯变换LoG算子图像锐化.zip
- StatisticsWorkbook:统计工作簿
- final_proj_sem2:SoftDev第二学期期末项目
- ansible-joyent-inventory:Joyent 的 Ansible 动态库存
- pigfx:PiGFX是Raspberry Pi的裸机内核,它实现了基本的ANSI终端仿真器,并附加了一些原始图形功能的支持
- gmail-force-check:强制 gmail 更频繁地刷新的脚本。 如此处所述