重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.没有更多的服务器,而是这个服务器除了搭配数据库、集中采集器(就是数据解析、告警、存储的程序),还要支持30w点的北向接口(SNMP),在程序没有优化之前CPU常年占用80%以上。因为项目要求要使用双机热备,为了省事,减少不必要的麻烦,我们把相关的服务放在一起,以便能够充分利用HA的特性(外部购买的HA系统)
公司主营业务:网站建设、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出梅州免费做网站回馈大家。
2.系统数据正确性要求极其变态,要求从底层采集系统到最上层的监控系统,一条数据都不能差
我们的系统架构如下,可以看到,其中数据库压力非常之大,尤其在LevelA节点:
3.硬件配置如下:
CPU:英特尔® 至强® 处理器 E5-2609 (4核, 2.40GHz, 10MB, 6.4 GT/s)
内存:4GB (2x2GB) DDR3 RDIMM Memory, 1333MHz,ECC
硬盘:500GB 7200 RPM 3.5'' SATA3 硬盘,Raid5.
4.数据库版本
采用的是SQLServer2012标准版,HP提供的正版软件,缺少很多企业版的NB功能。
写入瓶颈
sqlserver的高可用部分说的就是这种类似的需求。但是在实际使用中,要考虑性能问题,lz设定的前提是读写在物理上分离。这种在一定程度上就需要承担部分数据的不一致(秒级差异也是差异),实际使用中碰到的,基本都可以有一定时间的差异(
Sub 按钮1_Click()
Dim i As Integer, j As Integer, sht As Worksheet 'i,j为整数变量;sht 为excel工作表对象变量,指向某一工作表
'Dim cn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用
'Dim rs As New ADODB.Recordset '定义记录集对象,保存数据表
‘工具 ---〉引用 ---〉Microsoft ActiveX data objects ....
'下面两句就不需要增加引用ADO
Set cn = CreateObject("Adodb.Connection")
Set rs = CreateObject("Adodb.Recordset")
Dim strCn As String, strSQL As String '字符串变量
Dim strCond As String
strCn = "Provider=sqloledb;Server=R9HDET7;Database=dbname;Uid=username;Pwd=password" '定义数据库链接字符串
'下面的语句将读取数据表数据,并将它保存到excel工作表中:工作表为一张两维表,记录集也是一张两维表
strSQL = "select CUSTOMER_NAME from VSC_BI_CUSTOMER " '定义SQL查询命令字符串
cn.Open strCn '与数据库建立连接,如果成功,返回连接对象cn
rs.Open strSQL, cn '执行strSQL所含的SQL命令,结果保存在rs记录集对象中
i = 2
Set sht = ThisWorkbook.Worksheets("Test") '把sht指向当前工作簿的Test工作表
Do While Not rs.EOF '当数据指针未移到记录集末尾时,循环下列操作
sht.Cells(i, 1) = rs("CUSTOMER_NAME") '把当前记录的字段1的值保存到sheet1工作表的第i行第1列
rs.MoveNext '把指针移向下一条记录
i = i + 1 'i加1,准备把下一记录相关字段的值保存到工作表的下一行
Loop '循环
rs.Close '关闭记录集,至此,程序将把某数据表的字段1保存在excel工作表sheet1的第1列,行数等于数据表的记录数
cn.Close '关闭数据库链接,释放资源
End Sub
Dim connstr
connstr = "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=CC_JZX_WINC_13_03_06_10_00_07R;Data Source=.\WINCC;uid=sa;pwd=;"
Set MyConn = CreateObject("ADODB.Connection")
With MyConn
.ConnectionString = connstr
.CursorLocation = 3
.Open
End With
至于对数据库的读写操作分离,还是前台代码来确定。
对于只负责读的数据库可以对该访问用户设置为datareader角色即可,也可以防止数据写了,不过这是数据库方面权限的问题