我有一个超过50万会员的应用程序,他们所有的用户每1小时从服务器上获取数据
我的所有数据存储在php文件中,设备使用JSON获取它
这是我的简单php文件:
<?php
$response = array();
header('Content-type: application/json');
$response["AppInf"] = array();
$product = array();
$product["apptitle"] = "string1";
$product["apps"] = "string2";
$product["apps2"] = "string3";
$product["apps4"] = "string4";
$product["idapp"] = "stringid";
array_push($response["AppInf"], $product);
$response["success"] = 1;
echo json_encode($response);
?>
但当访问服务器中超过15k用户时,我的cpu负载将增长到100%。我有一个很好的vps服务器,64g ram和氙cpu
有人可以帮我管理和解决这个问题吗???
-
如果您的内容真的是静态的,如示例所示:将内容存储在静态文件中并使用缓存。如果你的内容对至少一组用户来说是相同的,那么你只需要计算一次所需的结果,并存储数据以供以后检索
-
考虑使用像
varnish
这样的反向代理将负载从web服务器移动到另一个服务器 -
如果可能的话:不要让所有用户同时获取数据。在提取数据的时间上添加一些随机偏移。