WinForm程序,运行在专业服务器上如何优化?

阳光柚子 2008-07-07 04:30:03
C#做的一个WinForm数据采集程序,连接数据库读取数据做对比的
运行在普通PC机上,读取数据并做相应处理,耗时37分钟,内存峰值占用480M
运行在高配置的专业服务器上,读取同样的数据并处理,耗时达57分钟,内存峰值占用87M
内存占用明显被控制下来了,导致时间太长,但是我需要时间更短,内存哪怕耗去1G都可以的

首先请问道理何在?
然后,有没有什么办法在程序里进行设置,如提高自身的运行级别,更高的内存吞吐量之类的,或者别的好办法,最好不要在服务器上设置什么,能在程序本身实现最好。
...全文
126 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
阳光柚子 2008-07-14
  • 打赏
  • 举报
回复
感谢各位的意见,谢谢!
c11_11_11 2008-07-08
  • 打赏
  • 举报
回复
数据采集 就用多多线程

如果对资源要求不高的话 多开N 个线程 速度马上来了
bbbbbb888888 2008-07-07
  • 打赏
  • 举报
回复
服务器的话,还是多线程好..核多嘛,
jzywh 2008-07-07
  • 打赏
  • 举报
回复
多线程阿。

现在的多核CPU的频率都不是很高,所以单线程的程序在高配置的专业服务器不会太快。
但是如果你用多线程的话,速度马上就起来了.
kkun_3yue3 2008-07-07
  • 打赏
  • 举报
回复
你描述的这种情况跟服务器的设置(或操作系统)有很大关系,不能仅仅从代码上考虑,

但仍然可以做一些偿试,对你所说的专业服务器没有概念,仅仅是靠想像来说明问题,

程序优化不是一个简单话题,你可以从数据库,程序的算法等各处着手,利用空间换取时间等办法进行偿试

最直白的解决方案,试试把从数据库中取出来的数据全部保存在内存中一并进行处理,

或者保存到服务器端使用多线程等技术处理,以尽可能提高运行速度,但我未做过任何测试

.NET本身在运行速度上,并不是特别强,刚性需求则建议你使用C语言实现
pinhailinfeng 2008-07-07
  • 打赏
  • 举报
回复
可以优化查询,建索引,知道的就这么多

110,927

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧