5.性能测试

1.0.109.0版解除了单线程排队的限制, 让服务端真正处于多线程运行状态, 性能无疑能得到较大提升, 而实际测试结果比预期的还要好, 这是我们的测试结果报告:

CPU | i7 7700k (4 核 8 线程)
CPU主频 | 4.2G
内存 | 16G
OS | Windows 8.1
Web Server | IIS
客户端程序 | 共 10 线程不间断发送 http 请求, 功能参数随机, 总共发送 1000 个请求
服务器端例子 | 在线演示中的例子
服务器端C#脚本 | 执行 Build 打开报表、Calc执行计算、Callfunc(105)转换成 html, 这是C#代码
耗时 | 处理上述 1000 个任务, 总耗时 20 秒左右

也就是说每秒能处理约 50 张报表的转换, 性能非常理想. 当然, 这是后端是采用我们静态数据的例子的结果，并且客户端和服务器都在同一台电脑上, 如果是从数据库取数, 结果肯定不会是这样.
另外，我们换成 64 位 DLL, 发现性能会更好一点，但提升不大, 最多提升10%左右.
IIS服务器还有一个改进性能、改进稳定度的配置技术：Web Garden。
请在IIS中将应用程序池配置成一个Web园(Web Garden)，即允许多进程工作，以提高报表服务的并发吞吐量, 尽可能让每个登录用户都互不牵制、独立工作.
配置方法很简单，在 IIS 的“应用程序池”中，找到硕正服务所在的程序池(如果不存在就创建一个)，在“高级设置”中，将最大工作进程数从默认的“1”改成多个：
例如设成 “5” ，就表示在繁忙时有可能会同时启动 5 个进程运行。
设成Web园还有一个好处: 万一某个进程崩溃，也不影响其它访问者。