【发布时间】:2015-08-09 09:29:06
【问题描述】:
在将存储超过4 million 记录per day 的系统上工作。
为了减少 I/O 并提高速度,我将存储从数据库更改为文件。所以数据会变成json直接写入文件。
更多信息
系统是ppc系统,由PHP编写,通过iframe在多个拥有自己服务器的站点中显示横幅。
每当此横幅加载到任何站点时,我都会将其信息的一条记录存储在文件中(之前是对数据库的插入),并更新数据库中两个表中的两个字段。
问题
当访问量上升并达到每分钟近 3000 次访问时,iframe 加载速度显着降低,而且有时会导致 iframe 中的打印服务器超时。
我正在寻找减少资源使用和提高加载速度以及防止超时的方法。
任何帮助将不胜感激...
【问题讨论】:
-
是什么让你的服务器变慢了?横幅图片?你确定这是最快的将数据库更改为文件吗?你的 apache 中有压缩系统吗?你的 php 中有一个编程缓冲区吗?抱歉,有了这些信息,我无法为您提供更多帮助。
-
@MarcosPérezGude 感谢您的回答,将数据库更改为文件至少可以使我的读/写更好并减少使用的存储空间,并且据我测量,我面临的时间范围内没有显着变化。据我所知,我的服务器上没有可用的压缩系统
-
@MarcosPérezGude 真的很感谢您的帮助,我会告诉我们的服务器管理员执行这些操作,并尽快在此处列出规范。
-
@HosseinShahsahebi 是的,我更认为您可以通过将内容存储在那里而不是数据库或文件来避免磁盘 I/O,以防磁盘 I/O 阻碍了事情。当然,您仍然需要一个 cronjob 来从 memcached 中检索项目并永久存储它们,但这可能会减少您的瓶颈。另外,只是一个想法 - 如果它在 Apache 上运行,您是否检查或修改了 MaxClients,以防只是您的所有 httpd 进程都在使用并且正在备份请求以等待空闲进程?尚未阅读所有答案或您的回复,因此这可能无关紧要:)
标签: php performance iframe