我用OpenSTA对我们的Erlang应用程序进行性能测试。该测试与100个虚拟用户一起运行。在某个时候,会出现以下错误:
Yaws process died: {{badmatch,{error,eacces}},
[{yaws_server,ut_read,1},
{yaws_server,deliver_dyn_file,5},
{yaws_server,aloop,3},
{yaws_server,acceptor0,2},
{proc_lib,init_p_do_apply,3}]}测试继续进行。我找不到关于这个错误的信息。eacces是指Error accessing a resource吗?
编辑:正如@Muzaaya Joshua指出的那样,调用file:read_file(UT#urltype.fullpath)在函数ut_read(UT)中崩溃。我重新编译了模块并打印了上下文。错误是eacces和UT持有:
{urltype,yaws,
{file_info,14088,regular,read_write,
{{2011,9,13},{11,51,42}},
{{2011,10,17},{17,59,44}},
{{2011,3,16},{13,18,58}},
33206,1,3,0,0,0,0},
"/handler.yaws",
"c:/Temp/harmony/script/../www/handler.yaws",
"/",undefined,undefined,"text/html",
"/handler.yaws",undefined}这个文件handler.yaws是我们的应用程序的入口点,每个请求都会被调用。当我使用100个或更少的虚拟用户运行测试时,我看不到这些错误。那么,当错误在Missing permission for reading the file, or for searching one of the parent directories.文档中描述时,它怎么可能是文件呢?
提前谢谢。
马丁
发布于 2011-10-25 10:03:21
我通过增加YAWS配置max_size_cached_file中允许的缓存文件的文件大小来修复这个错误。这使得我们的.yaws文件被加载到内存中,而不是一直使用file:read_file进行访问。希望这能节省别人几个小时(或几天:)
发布于 2011-10-18 08:52:21
eacces意味着访问被拒绝,错误代码描述在文件文档化的末尾:信息-2。
发布于 2011-10-18 10:15:01
在窗户里,这很容易。现在转到您的Local disk C,Program Files (在windows 7中,可能是Program Files (x86)),最后是安装yaws的位置。这将是一个文件夹:Yaws-VERSION,例如Yaws-1.89。
现在,右击它时,选择Properties,然后在弹出窗口中选择Security。在Security下,单击edit。现在,在Group or usernames下,您选择每个用户(以及每种类型的帐户),并授予它所有权限,即读、写、完全控制e.t.c。单击Apply,等待windows执行更改,然后单击Ok并关闭。您的用户现在必须拥有所有必需的权限。
https://stackoverflow.com/questions/7803697
复制相似问题