我有一个Rails应用程序,目前我为每个API访问创建一个PageView对象。我们的API仍然非常快(50%的请求都是<50ms),但大部分时间花在将PageView写入我们的MySQL实例上。我正在考虑使用Sidekiq,但问题是传递了更大的对象,而在Sidekiq中强烈反对 - https://github.com/mperham/sidekiq/wiki/Best-Practices#1-make-your-jobs-input-small-and-simple
什么是更好的选择?我们目前关于after_filter的解决方案还可以,但只是希望获得更高的性能。
THX
尝试没有这样的场景(授予了一个孤立的1个请求,但使用的是云mysql提供程序):
答案 0 :(得分:1)
mysql真的很快。您的时间可能花费在AR验证或回调中。下拉到原始数据库连接和SQL以减少Ruby的数量:
ActiveRecord::Base.connection_pool.with_connection do |conn|
conn.insert "INSERT INTO ..."
end