게시판 본문 ASP, ASP.NET, IIS & Script - Read Only

동시접속자가 많을 경우 XMLDOM 검색 처리 방법 문의
작성자: Tanhi
작성일시: 2011-04-24 17:33,  조회수: 5,307
안녕하세요.

클라이언트에서 서버로 검색어를 입력호출하면 서버에 저장되어 있는 xml화일을 검색해서 검색결과를 클라이언트에서 xml결과 화일로 받는 것에 있어서,

최초 1명이 검색어를 호출하면 XMLDOM이 5메가 바이트의 xml화일로 부터 검색하기 위해 5MB의 xml화일을 서버의 메모리에 로드하는데, 검색하는 사람이 늘어날 수록 서버의 메모리가 계속 증가하는 문제를 해결하고 싶은데요.

아래는 메모리가 계속 증가하는 소스입니다.

ServerXMLhttp로 해결할 수 있다는 얘기도 있는데 어떻게 해야 하는지 도움을 부탁드립니다.

)
Set xmlExtractDOM = Server.CreateObject("Microsoft.XMLDOM")
xmlExtractDOM.async = false
Set ExtractRootTag = xmlExtractDOM.createElement("TET")
xmlExtractDOM.documentElement = ExtractRootTag
Set root = xmlExtractDOM.documentElement

Set Inxml = Server.CreateObject("Microsoft.XMLDOM")
Inxml.async = false
Inxml.load(Request)

searchkey = Inxml.documentElement.childNodes(0).text
page = Inxml.documentElement.childNodes(1).text
'searchkey = Inxml.documentElement.firstChild.nodeValue
'searchkey = "10"
'page = request("page")
If page="" Then page = 1
argRow = 40 'page size


If searchkey <> "" Then
sFilter = "/TET/Page/Structure/Line/Word"
sFilter = sFilter & "[contains(translate(Text, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), '" & LCase(searchkey) & "' )]"
Set ExtractSearchLineTagArray = xmlRawDoc.documentElement.selectNodes(sFilter)

TotalResultnum = ExtractSearchLineTagArray.length
TotalPagenum = Int(TotalResultnum / argRow)

If TotalResultnum mod argRow > 0 then
TotalPagenum = TotalPagenum + 1
end If
StartItem = (page - 1) * argRow
EndItem = (page ) * argRow - 1
If EndItem > TotalResultnum - 1 Then
EndItem = TotalResultnum - 1
End If

Set StepNode = xmlExtractDOM.createElement("Step")
Set idxNumber = xmlExtractDOM.createAttribute("idx")
idxNumber.Value = page
Set totalIdxNumber = xmlExtractDOM.createAttribute("totalIdx")
totalIdxNumber.Value = TotalPagenum
StepNode.Attributes.setNamedItem idxNumber
StepNode.Attributes.setNamedItem totalIdxNumber
root.appendChild StepNode

pagePrevNumber = 0
for pNo = StartItem to EndItem
Set ExtractSearchLineTag = ExtractSearchLineTagArray.item(pNo)
'For Each ExtractSearchLineTag In ExtractSearchLineTagArray
Set ExtractPageNode = ExtractSearchLineTag.parentNode.parentNode.parentNode
pageNumber = CInt(ExtractPageNode.attributes.item(0).text)
pageHeight = CInt(ExtractPageNode.attributes.item(1).text)
pageWidth = CInt(ExtractPageNode.attributes.item(2).text)
If pageNumber <> pagePrevNumber Then ' Create Tag
pagePrevNumber = pageNumber
Set PgNode = xmlExtractDOM.createElement("Page")
Set nodeNumber = xmlExtractDOM.createAttribute("number")
nodeNumber.Value = pageNumber
Set nodeHeight = xmlExtractDOM.createAttribute("height")
nodeHeight.Value = pageHeight
Set nodeWidth = xmlExtractDOM.createAttribute("width")
nodeWidth.Value = pageWidth
PgNode.Attributes.setNamedItem nodeNumber
PgNode.Attributes.setNamedItem nodeHeight
PgNode.Attributes.setNamedItem nodeWidth
StepNode.appendChild PgNode
Set StructNode = xmlExtractDOM.createElement("Structure")
StepNode.lastChild.appendChild StructNode
Set newStructNode = StepNode.lastChild.lastChild
End If
Set LineNode = xmlExtractDOM.createElement("Line")
LineNode.appendChild ExtractSearchLineTag
newStructNode.appendChild LineNode
Next
End If
response.write(xmlExtractDOM.xml)
'response.write totalresultnum

%>

IP 주소: 175.104.4.36
전체 2,095 건의 게시물, 84 페이지로 구성된 ASP, ASP.NET, IIS & Script 게시판의 1 페이지입니다.
게시물
2,208

win2008 iis에 관한 문의가 좀 있습니다.

이재성

2011-05-25 11,762
2,207

re: win2008 iis에 관한 문의가 좀 있습니다.

송원석

2011-05-27 5,527
2,206

전체선택관련

이석환

2011-05-20 124
2,205

re: 전체선택관련

송원석

2011-05-23 5,373
2,204

엑셀파일명 깨짐에 대해

이석환

2011-05-17 130
2,203

re: 엑셀파일명 깨짐에 대해

송원석

2011-05-17 5,188
2,202

동영상 탑재 사이트 구축 [1]

정보문

2011-05-12 5,055
2,201

re: 동영상 탑재 사이트 구축 [1]

송원석

2011-05-12 4,990

동시접속자가 많을 경우 XMLDOM 검색 처리 방법 문의

Tanhi

2011-04-24 5,307
2,199

re: 동시접속자가 많을 경우 XMLDOM 검색 처리 방법 문의

송원석

2011-04-25 4,899
2,197

framest 질문이요..

김종식

2011-03-30 228
2,196

re: framest 질문이요..

송원석

2011-03-31 5,001
2,195

자바스크립으로 된 장바구니 기능..

gosuzzang

2011-03-23 290
2,194

re: 자바스크립으로 된 장바구니 기능..

송원석

2011-03-24 5,431
2,193

Server.GetLastError 관련

이석환

2011-03-23 253
2,192

re: Server.GetLastError 관련 [2]

송원석

2011-03-24 5,352
2,191

파일 다운로드시

이석환

2011-03-18 345
2,190

re: 파일 다운로드시

송원석

2011-03-19 5,701
2,189

re: 파일 다운로드시

송원석

2011-03-21 5,011
2,188

re: 파일 다운로드시

이석환

2011-03-21 258
2,187

re: 파일 다운로드시

송원석

2011-03-21 5,441
2,186

iis 요청 필터링관련

질문

2011-03-18 311
2,185

re: iis 요청 필터링관련

송원석

2011-03-18 7,387
2,184

오류메시지 깨짐현상

이석환

2011-03-11 345
2,183

re: 오류메시지 깨짐현상

송원석

2011-03-14 8,424