OpenERP Web v6.0¶
介绍¶
Web Client – 一个软件应用程序通过一个web浏览器中启动.
推出OpenERP v6,一个新的web客户端进行设计和开发, 它提供了一个更专业的形象 than OpenERP v5.
我们迁移web客户端来CherryPy3滴TurboGears完全和迁移的孩子模板来更快的尖吻鲭鲨模板, 一个重大步骤使web客户端更快和更容易部署。
All the Kid templates were converted to faster Mako templates, i18n/l18n features have been partially reimplemented using Python Babel, CherryPy2 (TG is built on top of CP2) was replaced with CherryPy3, the latest, much better version of CherryPy Server.
这大大减少了使用和部署OpenERP Web client的难度.
Now the number of third party dependencies are reduced to 3-4 pure Python libraries which you can install within the local lib dir with the help of populate.sh script, found under the same lib directory.
- 仅需要从 Launchpad 获取源码后, 运行 populate.sh 就可以完成 web client 的启动...
整个测试效果会让你惊叹!.
一般3-5次后的提速效果就很明显了.
弥补 OpenERP Web 5.0 不足¶
下面是 6.0 版与 5.0 版就web性能方面做的测试报告:
使用 Apache ap.exe 工具对处理大量的 客户发票表单为例做性能测试.
OpenERP Web 5.0 (TurboGears + Kid) | OpenERP Web 6.0 (CherryPy3 + Mako) |
---|---|
ApacheBench工具, 版本 2.3 <内部版本: 655654> | ApacheBench工具, 版本 2.3 <内部版本: 655654> |
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ | Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ |
Licensed to The Apache Software Foundation, http://www.apache.org/ | Licensed to The Apache Software Foundation, http://www.apache.org/ |
Benchmarking localhost (be patient).....done | Benchmarking localhost (be patient).....done |
Server Software: CherryPy/2.3.0 | Server Software: CherryPy/3.1.2 |
Server Hostname: localhost | Server Hostname: localhost |
Server Port: 8081 | Server Port: 8080 |
Document Path: /form/edit?model=account.invoice&id=1 | Document Path: /form/edit?model=account.invoice&id=1 |
Document Length: 79965 bytes | Document Length: 90394 bytes |
Concurrency Level: 1 | Concurrency Level: 1 |
Time taken for tests: 166.323 seconds | Time taken for tests: 42.054 seconds |
Complete requests: 100 | Complete requests: 100 |
Failed requests: 0 | Failed requests: 0 |
Write errors: 0 | Write errors: 0 |
Total transferred: 8022000 bytes | Total transferred: 9063400 bytes |
HTML transferred: 7996500 bytes | HTML transferred: 9039400 bytes |
Requests per second: 0.60 [#/sec] (mean) | Requests per second: 2.38 [#/sec] (mean) |
Time per request: 1663.228 [ms] (mean, across all concurrent requests) | Time per request: 420.543 [ms] (mean, across all concurrent requests) |
Transfer rate: 47.10 [Kbytes/sec] received | Transfer rate: 210.47 [Kbytes/sec] received |
Connection Times (ms) | Connection Times (ms) |
min mean[+/-sd] median max | min mean[+/-sd] median max |
Connect: 0 0 0.0 0 0 | Connect: 0 0 0.0 0 0 |
Processing: 1556 1663 71.3 1663 1856 | Processing: 1556 1663 71.3 1663 1856 |
Waiting: 1555 1662 71.3 1662 1855 | Waiting: 381 420 27.7 415 522 |
Total: 1556 1663 71.3 1663 1856 | Total: 382 420 27.7 416 523 |
Percentage of the requests served within a certain time (ms) | Percentage of the requests served within a certain time (ms) |
50% 1663 | 50% 416 |
66% 1681 | 66% 418 |
75% 1695 | 75% 420 |
80% 1715 | 80% 424 |
90% 1775 | 90% 436 |
95% 1801 | 95% 512 |
98% 1829 | 98% 520 |
99% 1856 | 99% 523 |
100% 1856 (longest request) | 100% 523 (longest request) |
测试结果¶
- 报告显示, 第二列的测试结果明显好于第一列.
- 3-5次缓存加速明显.
- 还有进一步提升性能的空间.
- 如还可以再减少一些RPC调用, 有一些获取结果后仍有一定量的冗余计算.