小编was*_*igh的帖子

Asp.net应用程序运行缓慢但CPU最高为40%

我在生产服务器上有一个奇怪的情况.asp.net的连接排队,但CPU只有40%.此外,数据库在30%CPU下运行良好.

评论中要求的更多历史记录:

  • 在高峰时段,这些网站每小时可以获得大约20,000名访客.
  • 该站点是一个带有大量AJAX/POST的asp.net webforms应用程序
  • 该网站使用了大量用户生成的内容
  • 我们使用测试页来衡量站点的性能,该测试页确实击中了数据库和站点使用的Web服务.此页面在正常负载下一秒钟内即可获得服务.当请求超过4秒时,将应用程序定义为慢速.
  • 从测量结果我们可以看出连接时间很快,但处理时间很长.
  • 我们无法确定单个请求的响应速度慢,网站在正常时间运行正常但在高峰时段运行缓慢
  • 我们遇到了一个问题,即网站受CPU限制(也就是100%运行),我们修复了这个问题
  • 我们也遇到了appdomain重启的例外问题,我们修复了这个问题
  • 在高峰时段,我看看asp.net性能计数器.我们可以看到我们有600个当前连接和500个排队连接的行为.
  • 在高峰时段,CPU约为40%(这让我认为它不受CPU限制)
  • 物理内存约占60%
  • 在高峰时间,DatabaseServer CPU大约是30%(这让我认为它不是数据库绑定的)

我的结论是,其他东西阻止服务器更快地处理请求.可能的嫌疑人

  • 死锁(!syncblk只提供一个锁)
  • 磁盘I/O(通过sysinternals procesexplorer检查:3.5 mB/s)
  • 垃圾收集(峰值期间10~15%)
  • 网络I/O(连接时间仍然很低)

为了找出进程正在做什么,我创建了minidumps.

我设法创造了两个相隔20秒的MemoryDumps.这是第一个的输出:

!threadpool
CPU utilization 6%
Worker Thread: Total: 95 Running: 72 Idle: 23 MaxLimit: 200 MinLimit: 100
Work Request in Queue: 1
--------------------------------------
Number of Timers: 64
Run Code Online (Sandbox Code Playgroud)

和第二个的输出:

!threadpool
CPU utilization 9%
Worker Thread: Total: 111 Running: 111 Idle: 0 MaxLimit: 200 MinLimit: 100
Work Request in Queue: 1589
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,队列中有很多请求.

问题1:队列中有1589个请求是什么意思.这是否意味着阻止了什么?

!threadpool列表主要包含以下条目:未知函数:6a2aa293上下文:01cd1558 AsyncTimerCallbackCompletion TimerInfo @ …

asp.net performance crash-dumps

10
推荐指数
1
解决办法
6992
查看次数

iOS和Android的代码生成

我正在寻找一个框架,从一个代码库为Android和iOS创建应用程序.我知道Appcelarator和PhoneGap等.但我需要一种不同的产品.我不确定它是否存在.我在这里或谷歌上找不到它.

我们是Android和iOS开发人员团队,不怕本地构建.我想要的是一个帮助我快速启动开发的工具.最好是一个工具,我可以创建基本UI和模型,并生成本机代码,以作为进一步开发的基础.

这样的工具存在吗?

android code-generation scaffolding ios

7
推荐指数
1
解决办法
1万
查看次数

强化drupal进行实时部署

将Drupal站点部署到生产服务器时是否需要采取特殊的安全措施?

例如:我可以成像,我们需要从根目录中删除install.php.还有其他行动吗?

或者是否有可用的模块检查网站是否"世界准备就绪"

security deployment production drupal live

5
推荐指数
2
解决办法
3660
查看次数

是否有Xcode的包管理器?(比如NuGet)

我正在寻找一种在xcode 4.3中重用代码的简单方法.是否有适用于Xcode的NuGet工具?

xcode ios nuget

5
推荐指数
1
解决办法
4437
查看次数

以编程方式禁用浏览器中的画布硬件加速

我正在开发一个使用Canvas渲染内容的项目.在Android平板电脑上使用Chrome 37进行测试可以渲染人工制品.即黑色bloxes.

通过chrome:// flags禁用Canvas硬件加速会导致画布的正确渲染.

有没有办法禁用画布硬件加速?最好是通过CSS还是javascript?

javascript android google-chrome canvas

5
推荐指数
1
解决办法
1800
查看次数

如何在Drupal中加载父项的标题

我想扩展具有父节点标题的节点,以便我可以显示层次结构链接.

我有一个解决方案,有时工作:

function modulename_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) 
{
    switch ($op) 
    {
        case 'view':
        loadParentTitle($node);
        break;
    }
}

function loadParentTitle(&$node)
{
    $title = $node->title;
    $query = "SELECT mlid, p1, p2,p4,p5,p6,p7,p8,p9  FROM menu_links WHERE link_title like '%%%s%%'";

    $data =  db_fetch_array(db_query($query, $title));

    $mlid = $data["mlid"];
    $i = 9;
    while (($data["p". $i] == 0 || $data["p". $i] == $mlid) && $i >= 0) 
    {
        $i--;
    }
    if ($i > 0)
    {
        $query = "SELECT `link_title` as parentTitle from  `menu_links` WHERE …
Run Code Online (Sandbox Code Playgroud)

php drupal nodeapi

3
推荐指数
1
解决办法
3179
查看次数

WCAT给出错误:"必须至少指定以下参数之一-run,-update,-terminate,-showclients或-setclients"

通过命令行在我的Windows XP机器上运行WCAT时,我收到以下错误:

错误:必须至少指定以下参数之一-run,-update,-terminate,-showclients或-setclients

我尝试运行的命令是:

wcat.wsf -terminate -run  -t scenario.wcat -f settings.ubr -s localhost -singleip -x
Run Code Online (Sandbox Code Playgroud)

并直接从自述文件中复制.

command-line wcat

3
推荐指数
2
解决办法
1859
查看次数