AIMS 2013中的性能报告工具不能运行的解决办法
在AIMS 2013中,最引人注意的新功能之一就是提供了性能报告分析工具,通过这个工具,你可以分析当前地图的每一个图层的渲染时间,从而找到性能瓶颈,这样才能使性能调优工作有的放矢。这个性能报告工具包含在site Administrater里,即http://<macheine>/mapserver2013/mapadmin/login.php
下面是性能分析报告工具的一个结果截图,你可以导出到excel里做进一步分析:
但不知道为什么,我的性能分析报告工具一直不工作,点击“Run” 按钮后,页面就一直死在那里没反应了。用firebug一查才知道,原先是页面执行出现http 500错误了,详细错误信息如下:
--------------------------------------------------------------------
HTTP Error 500.0 - Internal Server Error
Module
FastCgiModule
ExecuteRequestHandler
Handler
PHP via FastCGI
Error code
0x00000000
Requested URL
http://localhost:80/mapserver2013/mapadmin/performanceReport_GetResult.php?scale=118665.7185¢erPoint=-9.77e%2B6*5.40e%2B6&mapDefinition=Library%3A%2F%2FSamples%2FSheboygan%2FMaps%2FSheboygan.MapDefinition&imageWidth=1659&imageHeight=664&sid=0.2957984344722354
…
出现这个错误的原因是 IIS对<Infrastructure Web Server Extension 2013>\www\mapadmin\profilingmapxml 目录没有写权限.性能报告工具在运行时,需要往这个目录中写入文件,如果没有写权限就会造成http 500错误,从而不能正常运行。
解决的办法,当然就是给他赋予正确的权限了。这里给哪个用户赋予权限有讲究,开始我以为是IUSR,因为我的机器在autodesk的域里,所以给ADS\IUSR加了权限,可是发现不管作用,弄得百思不得其解。后来不知从哪儿来个灵感,才发现我应该给本机的用户赋予权限才对,所以应该是给<machineName>\IIS_IUSRS赋予写权限。
下面是操作过程,看截图:
1. Run inetgmr in Start—>Run to open IIS Manager,
2. Right click mapserver2013->mapadmin->profilingmapxml and select “Edit permissions”, then switch to “Security” tab:
3. Click “edit” then click “Add” button to add user
4. Input <machineName>\IIS_IUSRS then click “Check names” to make sure the user name is correct. 注意如果你的机器在域里的话,要把location切换到本机才能找到正确的用户.
5. Enable “Modify” permission for <machineName>\IIS_IUSRS, then click “OK” or “Apply”
好了,现在你的性能分析报告应该可以正常运行了。