Script æder hukommelsen - Hjælp
Jeg har nedenstående upload script som jeg bruger til at uploade billeder til en webserver med, alle billederne får genereret en thumbnail der gemmes + at alle filer registreres i en mysql database.Problemet er at den bare æder hukommelse, jeg uploader i store portioner á 40.000 billeder, og efter de første 20.000 har den brugt 2GB RAM på serveren. (der er en dedikeret 2cpu server til formålet)
Er der nogle af jer kloge mennesker derude der kan hjælpe med at finde fejlen, jeg syntes at jeg har forsøgt at sørge for at få destrueret alle objekter o.l. ?
mvh Mark
--Start ASP
<%
Set dbConn = Server.CreateObject("ADODB.Connection")
dbConn.Open "Driver=connString"
'// Prepare for ImageGLUE
Set canvas = Server.CreateObject("ImageGlue5.Canvas")
Set graph = Server.CreateObject("ImageGlue5.Graphic")
Set rect = Server.CreateObject("ImageGlue5.XRect")
' Object creation
' ***************
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
' Upload
' ******
mySmartUpload.Upload
eventID = mySmartUpload.form("event")
Eventid = Trim(Split(eventid," - ")(0))
destDir = "d:\runimages\" & eventID &"\"
orgDir = destDir & "org\"
thumbDir = destDir & "thumb\"
mkdir(destdir)
mkdir(orgdir)
mkdir(thumbdir)
For each file in mySmartUpload.files
if not file.ismissing Then
strFileName = file.filename
cleanName = Split(strFileName,".")(0)
dbConn.Execute("DELETE FROM db_runnerphoto WHERE eventid = "& eventid &" AND fotoid = '"& cleanName &"';")
dbConn.Execute("INSERT INTO db_runnerphoto (eventid, filename, fotoid) VALUES ("& eventid &", '"& strFilename &"','"& cleanName&"');")
file.saveas(orgdir & file.filename)
'// Rename and copy the file
newname = file.filename
'// Create a thumbnail
inPath = orgdir & newname
graph.SetFile inpath
rect.String = graph(1).Rectangle
canvas.Width = 80
canvas.Height = (80 * rect.Height) / rect.Width
canvas.DrawFile inpath, "size=" & canvas.Width & "," & canvas.Height
canvas.SaveAs (thumbdir & newname), ""
canvas.clear
'// Finish Thumbnail
set canvas = nothing
set graph = nothing
set rect = Nothing
end if
next
dbConn.Close
Set dbConn = Nothing
Set mySmartUpload = Nothing
response.write "OK"
session.abandon
'The mkdir() function creates a directory and returns a string variable with a pass/fail message
Public Function mkdir( xVar )
Set Sys = Server.CreateObject( "Scripting.FileSystemObject" )
If Sys.FolderExists( xVar ) Then
msg = true
Else
Sys.CreateFolder( xVar )
msg = true
End If
Set Sys = Nothing
mkdir = msg
End Function
%>
