Mysql 高流量中的高DB连接
我们正在运行一个API,该API在某些时间段有时会遇到非常繁忙的流量。在使用varnishstat的正常情况下,我们可以看到需要0个后端连接。我们将其解释为能够成功地为缓存中的所有数据提供服务 当流量峰值时,我们会看到后端连接激增,这反过来会打开数据库连接,导致数据库资源峰值。在交通繁忙的时候,清漆似乎被绕过了 我们调整了MySQL中的max_连接设置,并调整了两个varnish配置文件。我们使用4个线程池运行,最小线程数为200,最大线程数为4000。我们为varnish分配了大量内存(15GB中有8GB) 问题是,为什么后端连接的流量如此之大?这当然是清漆应该防止的。我假设我们在配置中出现了一些错误,但在如何更新以防止如此多的请求在高流量中绕过varnish方面找不到帮助Mysql 高流量中的高DB连接,mysql,apache,caching,varnish,varnish-vcl,Mysql,Apache,Caching,Varnish,Varnish Vcl,我们正在运行一个API,该API在某些时间段有时会遇到非常繁忙的流量。在使用varnishstat的正常情况下,我们可以看到需要0个后端连接。我们将其解释为能够成功地为缓存中的所有数据提供服务 当流量峰值时,我们会看到后端连接激增,这反过来会打开数据库连接,导致数据库资源峰值。在交通繁忙的时候,清漆似乎被绕过了 我们调整了MySQL中的max_连接设置,并调整了两个varnish配置文件。我们使用4个线程池运行,最小线程数为200,最大线程数为4000。我们为varnish分配了大量内存(15G
感谢您的帮助大多数情况下,后端连接与您的varnish配置关系不大,但与您站点的可访问性关系很大
- 是否存在阻止您高效缓存的cookie?您可以选择剥离它们或移除除所选之外的所有对象,varnish站点上有这两个示例李>
- 做一个varnishstat,在峰值期间检查你的命中率。这是一个好的缓存命中率吗?是否与低负荷时相同?如果在低负载时相同或更高,则可以随时进行改进
- 执行
查看哪些请求最常发送到后端服务器。也许是一些URL由于错误的标题而没有被缓存?也许有些页面可以缓存更长的时间?也许页面的某些部分可以用ESI缓存varnishtop-i txurl
- 确保您的清漆在峰值期间不会破碎(留下空缓存)。您可以通过
cat系统日志| grep“varnish”