选择适合软件的服务器,需要综合考虑多个因素,以下是一些关键要点:
-
明确应用需求
- 确定用途:不同用途的软件对服务器要求不同。如作为 Web 前端服务器,若访问量不高,配置要求相对较低;而应用程序服务器,尤其是基于 Windows 基础架构的 Ruby、Python、Java 服务器,通常需要较快的处理速度和较大的内存。如果是数据库服务器,则需要足够快的 CPU、足够大的内存以及稳定可靠的硬件。
- 预估用户量:了解软件的注册用户数量、正常情况下同时在线访问的用户数以及每天同时在线访问的最高峰值,这些数据对决定 CPU 性能和内存大小至关重要。同时,还要对未来的用户增长做一个尽可能准确的预测和规划,以便选择具有可扩展性的服务器。
- 评估数据存储量:需要考虑操作系统、应用程序本身占用的空间,以及应用程序运行过程中产生的数据、数据库、日志文件等所需的存储空间。并根据数据的增长趋势,为未来 1-3 年的数据增长做个准确的测算,一般建议在计算结果的基础上乘以 1.5 左右的系数,以满足数据备份和文件转移等需求。
-
考虑性能配置
- CPU:如果软件业务刚刚起步,预算有限,可选择经典酷睿服务器;若需要在一台服务器同时运行多种应用服务,单路至强或新一代酷睿 I3/I7 将是较好的选择;对于处理流媒体视频编码、服务器虚拟化、游戏服务器等对 CPU 要求较高的应用,至少要考虑单路至强的服务器。
- 内存:根据软件的类型和运行需求来确定内存大小。例如,缓存服务器对内存的要求较高,而一些简单的 Web 前端服务器对内存要求相对较低。一般来说,生产环境下的服务器内存建议从 4GB 起步,对于数据库等对内存需求较高的应用,可能需要 16GB 甚至更多。
- 存储类型:对于对读写速度要求高的应用,如数据库,建议选择 SSD 存储;如果是存储大量的非结构化数据,如图片、视频等,可以考虑成本相对较低的 HDD 存储,或者搭配对象存储使用。
- 带宽:根据软件的用户数量和数据传输量来估算带宽需求。如果是单用户日均流量 100MB 以内的工具类 APP,2-5M 带宽可能够用;但如果涉及视频、大文件下载等,可能需要 10M 以上的带宽。
-
关注可靠性与可用性
- 冗余设计:选择具备冗余设计的服务器,如冗余电源、风扇等,以确保关键组件出现故障时不影响系统整体的运作。对于存储,支持 RAID 配置的存储解决方案能够提供更高的数据保护和业务连续性。
- 故障恢复:确保服务器能快速恢复正常运作对于维护业务连续性至关重要。选择具备快速数据备份与恢复解决方案的服务器,能够最小化由于硬件故障导致的业务中断。
-
考虑安全性
- 网络安全:选择具有防火墙、入侵检测系统(IDS)等安全功能的服务器,以防范网络攻击和数据泄露。对于涉及用户敏感信息的软件,如支付功能,还需要配置 SSL 证书,保障数据传输的安全。
- 物理安全:如果是自行搭建服务器,需要考虑服务器的物理安全,如将服务器放置在安全的环境中,采取访问控制等措施,防止未授权的物理访问。
-
选择可靠的供应商
- 市场声誉:选择有良好市场声誉和丰富经验的服务器供应商,这样的供应商通常能够提供质量更可靠的产品和更优质的服务。
- 技术支持:确保供应商能够提供及时有效的技术支持,如 24/7 的技术支持服务,以便在服务器出现问题时能够快速得到解决。
——椰子——