我正在为我的公司运行一个 WEB 应用程序(PHP + MariaDB),在我的笔记本电脑上开发并在专用服务器上运行生产版本。
最近,我开始测量性能并注意到我的笔记本电脑的性能比服务器好。例如,其中一个页面在我的笔记本电脑上生成约 50 毫秒,而在服务器上生成约 130 毫秒。这个时间是在 PHP 代码中使用 microtime() 测量的,因此对服务器的网络请求延迟被忽略。
问题是,服务器在每一点上都应该比我的笔记本电脑表现得更好。130 毫秒对于这个应用程序是可以的,因此我从来没有注意到这个事实。但如果可能的话,我想了解导致这种情况的原因。
我想下一步是在代码的不同点测量时间,但差异是如此重要(> x2.5),我不禁认为我错过了一些东西。
这里有一些细节。
中央处理器
内存
操作系统
两者都运行 Debian 9,因此它们运行相同版本的 Apache2、PHP、MariaDB ......并且应该或多或少地以相同的方式进行配置。
玛丽亚数据库
在服务器上,它被配置为使用 24GB 的 RAM 将 InnoDB 池大小拆分为 12 个实例(所有表都使用 InnoDB)。目前,它仅使用 4.5GB 的 RAM,因此磁盘访问应该不是问题。
还有什么?