㈠ 一些定义
⑴ CPU 密集
某种应用极其消耗 CPU 资源、其程序内部逻辑复杂
而且、对磁盘访问量不高
这种程序在运行时、根本不用或少量读取磁盘上的数据
只是在程序载入的时候、读入一点点程序数据而已
进程运行后便会使 CPU 的核心处于全速状态
这会造成其他进程同一时间只获得少量的执行时间、影响了性能
必要时、可以将多台机器组成集群来运行这种程序
⑵ IO 密集
某种程序的内部逻辑并不复杂、耗费的 CPU 资源不多
但、要随时读取磁盘上的数据、比如 FTP 服务器
IO 和 CPU 同时密集就是综合了2者的特点、这是个噩梦啊
⑴ 大块连续 IO 密集的环境
建议使用 SAN
⑵ 高并发随机小块 IO 环境或者共享访问文件的环境
建议使用 NAS
⑶ CPU 密集的环境
建议使用 NAS
不过、不同的环境和需求、对 SAN & NAS 的选择还是要具体权衡取舍
毕竟、经济学有个原理"某种东西的成本只是为了得到它所放弃的东西"
无论选择哪种、总伴随着要失去另一种的机会成本
⑴ CPU 密集
某种应用极其消耗 CPU 资源、其程序内部逻辑复杂
而且、对磁盘访问量不高
这种程序在运行时、根本不用或少量读取磁盘上的数据
只是在程序载入的时候、读入一点点程序数据而已
进程运行后便会使 CPU 的核心处于全速状态
这会造成其他进程同一时间只获得少量的执行时间、影响了性能
必要时、可以将多台机器组成集群来运行这种程序
⑵ IO 密集
某种程序的内部逻辑并不复杂、耗费的 CPU 资源不多
但、要随时读取磁盘上的数据、比如 FTP 服务器
IO 和 CPU 同时密集就是综合了2者的特点、这是个噩梦啊
㈡ 一点建议
⑴ 大块连续 IO 密集的环境
建议使用 SAN
⑵ 高并发随机小块 IO 环境或者共享访问文件的环境
建议使用 NAS
⑶ CPU 密集的环境
建议使用 NAS
不过、不同的环境和需求、对 SAN & NAS 的选择还是要具体权衡取舍
毕竟、经济学有个原理"某种东西的成本只是为了得到它所放弃的东西"
无论选择哪种、总伴随着要失去另一种的机会成本