随笔分类 -  C#分布式多计算机调度平台

摘要:IPC可以实现本地进程之间通信。这种用法不是太常见,常见的替代方案是使用wcf,remoting,web service,socket(tcp/pipe/...)等其他分布式部署方案来替代进程之间的通信。虽然不常见但也避免不了一些场景会使用该方案。 应用包含: 1)使用IPC技术实现多client与 阅读全文
posted @ 2017-09-07 02:39 cctext 阅读(7218) 评论(0) 推荐(3) 编辑
摘要:在分布式调度系统中,如果要实现调度服务器与多台计算节点服务器之间通信,采用socket来实现是一种实现方式,当然我们也可以通过数据存储任务,子节点来完成任务,但是往往使用数据作为任务存储都需要定制开发,要维护数据库中任务记录状态等等。开发的东西还是有点多,而且还不够灵活。因此,我个人是比较偏向于使用 阅读全文
posted @ 2017-09-04 23:31 cctext 阅读(55632) 评论(15) 推荐(13) 编辑
摘要:由于之前一直遇到一些关于并行进行数据处理的时效果往往不好,不管是c#还是java程序都是一样,但是在Python中通过multiprocess实现同样的功能时,却发现确实可以提高程序运行的性能,及服务器资源使用提高。python具体性能及multiprocess用法,请参考:《Python:使用py 阅读全文
posted @ 2017-07-24 12:38 cctext 阅读(1261) 评论(0) 推荐(0) 编辑
摘要:背景: 在最近开发中遇到一个问题,对一个数据库进行操作时,我采用64个并行的任务每个任务保证一个数据库连接对象;但是每个任务内部均包含有24个文件需要读取,在读取文件之后,我们需要快速将这24个文件批量入库到数据库中。 于是我这样开发我的程序: 主任务处理方式:最多允许64并行主任务; 主任务内部子 阅读全文
posted @ 2016-07-28 01:41 cctext 阅读(9996) 评论(2) 推荐(0) 编辑
摘要:背景: 每取到一个文件就读取为一个实体集合到内存中,当一个文件读取完成后,调入库接口;在入库时,先把这个实体集合拆分为主表的datatable对象,三个子表的datatable对象,之后并行入库。 分析: 基于上边的一共包含两个弊端问题: 调整: 分表改进: 把原来的分为一套表(一个主表,三个子表) 阅读全文
posted @ 2016-07-23 23:21 cctext 阅读(1024) 评论(0) 推荐(0) 编辑
摘要:目前先后做了以下调整: 1、单表多个线程写入的时候,总会因为写入log或单文件写入速度的限制,导致IO提到不了成为入库的瓶颈;为了提到入库IO速度,我们采取分表策略,一次性拆分到一个ENB为单元的物理表; 2、修改批量入库方案:从监控IO来看,IO的写入速度确实有提高,但是同时写入多个表过程是单线程 阅读全文
posted @ 2016-07-13 23:56 cctext 阅读(650) 评论(0) 推荐(0) 编辑
摘要:客户给出建议方案: sql优化书籍:https://www.simple-talk.com/books/sql-books/troubleshooting-sql-server-a-guide-for-the-accidental-dba/ 带着上边的问题,我认真的查阅了网上对这些技术的一些评价: 阅读全文
posted @ 2016-07-01 03:06 cctext 阅读(1327) 评论(0) 推荐(0) 编辑
摘要:物理机上测试IO是否为瓶颈: 使用一个死循环insert into测试数据库最大写入速度: 结果发现一个问题,写入数据库iTest.mdf的速度只有几百千字节每秒,而写入iTest_log.ldf的速度也是几百字千节每秒,但是写入日志的速度要要多于数据库文件的速度,约在4倍的速度。他们两个之和才有将 阅读全文
posted @ 2016-06-30 12:17 cctext 阅读(690) 评论(0) 推荐(0) 编辑
摘要:背景 最近一段给xx做项目,这边最头疼的事情就是数据库入库瓶颈问题。 环境 服务器环境:虚拟机,分配32CPU,磁盘1.4T,4T,5T,6T几台服务器不等同(转速都是7200r),内存64G。 排查步骤 排查一:数据库恢复模式为简单模式,数据库和tempdb的初始大小。数据库文件初始化大小100G 阅读全文
posted @ 2016-06-30 02:14 cctext 阅读(3947) 评论(0) 推荐(0) 编辑
摘要:1 string sourceFilePath = @"E:\文件拷贝\xx\3773\3773.zip"; 2 3 FileInfo fileInfo = new FileInfo(sourceFilePath); 4 long length = fileInfo.Length; 5 6 if (length == 0) 7 { 8 return; 9 } 10 ... 阅读全文
posted @ 2016-06-21 14:28 cctext 阅读(1344) 评论(0) 推荐(0) 编辑
摘要:http://www.360doc.com/userhome.aspx?userid=11741424&cid=2# 阅读全文
posted @ 2016-03-08 11:09 cctext 阅读(223) 评论(0) 推荐(0) 编辑
摘要:由于业务的拆分,数据库拆分为两种作用: 这样,就设计到子节点访问头节点数据库中的某张汇总表,这种表的记录一般在几,到几十万行左右,目前适合做跨库查询。 跨库查询目前分为两种: 通过sp_addlinkedserver建立链接服务器 使用步骤 通过Sp_AddLinkedServer创建链接服务器 示 阅读全文
posted @ 2015-05-25 18:13 cctext 阅读(2157) 评论(0) 推荐(2) 编辑
摘要:1 static void Main(string[] args) 2 { 3 ConnectionOptions op = new ConnectionOptions(); // 登陆远程计算机的远程, 4 op.Username = "Domain\\Domainu... 阅读全文
posted @ 2015-05-21 16:10 cctext 阅读(1060) 评论(0) 推荐(0) 编辑
摘要:回到家里,看了一下第一个for内部的for完全是多余的,优化为: 1 List configs = new List { 1, 2, 1 }; 2 3 List items = new List { 4 1,2,3,... 阅读全文
posted @ 2015-05-11 15:27 cctext 阅读(427) 评论(0) 推荐(0) 编辑
摘要:自己写调度器,就要从tcp通信入手;心跳的实现除了使用socket,想不到其他任何方案。socket基本使用demo:Socket Client: 1 static void Main(string[] args) 2 { 3 Socket c; 4 5 ... 阅读全文
posted @ 2015-04-15 00:31 cctext 阅读(1110) 评论(0) 推荐(0) 编辑
摘要:方案:1,) 目前我们的程序,单独一台计算机一天分析100G以内的xml数据,有选择的将需要的数据入库数据库(sqlserver2008 r2 64)记录近1亿左右,一台128G内存,32核的计算机勉强能完成任务;2,) 随着市场的扩展,我们拿到的数据量一天的数据就有1T左右的xml数据,单台计算机... 阅读全文
posted @ 2015-04-15 00:23 cctext 阅读(431) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示