我们正在开发一个关于android的社交应用程序。使用jersey + hibernate + mysql创建并在glassfish和nginx上托管的此应用程序的休息服务。在主服务器上部署服务后,我用ab检查负载。结果测试对我们不利。 以下是仅在记录上选择的一项服务的结果。
Concurrency Level: 100
Time taken for tests: 19.875 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 8920000 bytes
Total body sent: 9550000
HTML transferred: 7060000 bytes
Requests per second: 503.14 [#/sec] (mean)
Time per request: 198.752 [ms] (mean)
Time per request: 1.988 [ms] (mean, across all concurrent requests)
Transfer rate: 438.28 [Kbytes/sec] received
469.24 kb/s sent
907.52 kb/s total
上面的结果显示在localhost上运行ab的每秒503请求。 int此服务仅在具有某些行的3个表上进行选择,并且所有表都具有查询字段的索引。
如何配置glassfish,nginx和jersey以减少每秒的执行请求?
当运行空白页而不对db和json进行任何操作时,结果是每秒30,000个请求。 (我的意思是获取nginx索引)。并且当调用空白服务而没有任何json解析并在db上运行查询时,结果是每秒6,000个请求。所以我认为在玻璃鱼或球衣上产生问题。