这是我的任务。 每个第二个背景任务都应该根据一些数据生成json。此操作不是cpu密集型(主要是网络),它生成JSON内容(5-10KB)。操作大约需要200ms。
此外,每隔几秒我就有大约1000个客户要求提供此内容。假设这是大约200个请求/秒。
服务器应该只输出当前的实际json。
目前我已经有rails 4 + nginx + passenger + debian sever做其他工作,与此工作有关。
作为一名学生,我希望以最具成本效益的方式使我的服务器具有以这种方式轻松扩展的能力:
目前我有2个CPU内核的linode 2048 ssd。我的问题是:
答案 0 :(得分:1)
你提到“服务器应该只输出当前实际的json”,我想JSON生成可能不会成为瓶颈,因为你可以将它缓存到Memcache并直接提供Memcache:
1)定期后台处理 - >将数据转储到Memcache(甚至gzip加速)
2)用户 - > Nginx - >内存缓存
请参阅模块http://nginx.org/en/docs/http/ngx_http_memcached_module.html
中内置的Nginx内存缓存瓶颈是任何具有阻塞机制,GIL,IO锁等的后端,通过使用中间Memcache数据点拆分请求/响应周期来尝试避免这些类型的问题。