即使我添加了更多的zeo客户端,erp5-zope网站也需要4-5分钟来提供请求。每秒请求数大约为10个。
.------- zeo client ---.
nginx ---{ ------- zeo client ----} ---> zope server (mysql and zope)
`-------- zeo client ---'
nginx -> 4 core (4 GB RAM)
zeo clients -> 2 core (4 GB RAM)
zope server -> 16 core (8 GB RAM)
如果我尝试使用一个新的zeo客户端访问该网站,该客户端不在生产中但指向相同的zope服务器后端,那么我会得到很好的响应。当我将相同的新zeo客户端添加到生产中时,服务器响应相当长一段时间(比如5分钟),但后来整体性能再次下降。现在,当我尝试使用新的zeo客户端直接访问网站时,它也变得很慢(因此nginx不是问题)。除后端zope服务器之外的所有框都没有太多活动(很多免费ram,没有多少负载< 1并且网络没有被占用)但是在zeo服务器中,负载平均值是> 2和所有处理器使用超过50%。我还在zope服务器中看到了很多MySQL线程。
这是一所大学网站,供学生注册课程。它只是一些表单填写,图像上传和调整大小,打印一些表单和文档转换(odt,doc,pdt)。
高层架构是错的吗?或者代码有什么问题(缓存或其他东西)?如何提高整体表现?将MySQL服务器与Zope后端帮助解耦吗?
答案 0 :(得分:0)
为每个ZEO客户端使用1个zserver线程作为初学者并使缓存大小高