亚马逊AWS服务器缓存错误

时间:2015-12-04 10:47:58

标签: amazon-web-services amazon-ec2

我们推出了一些EC2实例来测试我们的移动游戏应用服务器。我们已经设置服务器在本地EC2主机内创建一个缓存文件(virtual_kvs.dat)来编写和获取最初来自RDS数据库的游戏数据,这样我们几乎可以立即获得数据。由于某些原因,我们还没有为您的ElastiCache服务。所以我们希望将我们的游戏数据缓存在EC2内部。

首先,缓存似乎没问题,因为服务器正常响应客户端移动设备。但有时,它会停止从缓存文件中获取数据。因此服务器停止响应并且游戏停止运行。由于相关数据已经存储/写入缓存文件,服务器不会使用RDS来获取数据。如果我们清除/删除缓存文件,EC2中的服务器将再次开始响应。缓存存储在“/var/www/html/public/api/virtual_kvs.dat”中。所有必需的权限文件夹权限都在服务器中设置。

我们无法弄清楚这种情况发生的确切原因。由于我们的游戏服务器需要全天候运行,这个缓存问题是一个很大的障碍。

由于缓存大小导致此错误变得很大,所以它变得难以理解?或者在客户端服务器通信期间可能有不正确的数据写入?当我们每次比较问题时,缓存大小为4MB - 45MB。因此,我们无法确定这是由于缓存大小问题造成的。

有人也遇到过这个问题吗?

1 个答案:

答案 0 :(得分:1)

我们发现了这个问题。 来自阿拉伯语文本的一些非Unicode字符包含在kvs文件中,并且在序列化之后这些变得不可读。 从以下链接的帮助很大 https://www.jackreichert.com/2014/02/handling-a-php-unserialize-offset-error/