如果我们开发 Web 应用程序而不是使用 Sql Server 的 IIS,那么使用 MySql 的 Apache 是否会使用更少的系统资源(RAM、CPU 利用率)?
我的朋友告诉我,与 SQL Server 相比,MYSQL 消耗的资源非常少。
我同时具备 PHP 和 ASP.NET 技能。哪一个更适合开发应用程序?
答案1
我的观点是 MySQL 具有更大的灵活性,它只需更改配置参数即可使用少量资源或大量资源。Apache 也是如此。您可以在 512MB RAM 服务器或 48GB RAM 服务器中运行 MySQL Apache 堆栈,从而高效利用资源。
另一方面,SQL Server + IIS 堆栈具有最大的基本要求(至少双核 + 4GB RAM)。
Apache-MySQL 堆栈还具有以下优点:
- 无需许可证(Windows、IIS 和 SQL Server)
- 很容易找到一个托管来支持它
- LAMP 堆栈的托管成本更低
- Apache-MySQL 是多平台的
希望能帮助到你。
答案2
两者都会使用尽可能多的或尽可能少的 RAM,具体取决于您愿意为它们分配多少。但是,使用 MySQL,您必须手动进行更多调整(密钥缓存大小、查询缓存大小、排序缓冲区大小、InnoDB 缓冲池大小等)。
对于 SQL 服务器,请设置“最大服务器 RAM”,如果您使用的是 32 位系统,且存在虚拟地址空间问题,则还需设置“Mem To Leave”启动选项。就是这样。
此外,我发现 MySQL 在处理线程调度方面做得有点不尽人意,运行意外密集型查询很容易导致服务器几乎无响应。我几乎从未遇到过 SQL Server 的这种问题(除了让事务运行时间过长并导致大量锁争用,但这不是性能/调度问题)。
我经常使用这两个平台,这就是我的观察。