问题列表 - 第44315页

nginx:它的多线程但使用多个进程?

我试图理解是什么让Nginx这么快,我有几个问题.

据我所知,Apache会生成一个新进程来为每个请求提供服务,或者生成一个新线程来为每个请求提供服务.由于每个新线程共享虚拟地址空间,因此如果有多个并发请求进入,则内存使用率会不断攀升.

Nginx通过只有一个监听进程(Master),一个执行线程AND 2或3(数字是可配置的)工作进程来解决这个问题.此主进程/线程正在运行事件循环.有效地等待任何传入的请求.当请求进入时,它会将请求提供给其中一个工作进程.

如果我的上述理解不正确,请纠正我

如果以上是正确的,那么我有几个问题:

1.)工作进程是否会产生多个线程并且会遇到与apache相同的问题?

2.)或者nginx是快速的,因为它的基于事件的架构在它下面使用非阻塞IO.也许工作进程产生的线程只做非阻塞IO,是吗?

3.)"完全"是什么"基于事件的架构",有人可以真正简化它,对于像我这样的soemone来理解.它是否仅适用于非阻塞io或其他类似的东西?

我得到了c10k的参考,我试图通过它,但我不认为它是基于事件的拱.对于非阻塞IO来说似乎更多.

architecture apache nginx

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

获取夏令时转换发生的下一个日期/时间

我想在C#中编写(或使用它,如果它已经退出)一个函数,它返回给定System.TimeZoneInfo对象的下一个DST转换的日期/时间以及该时区中特定的"截至"时间.返回的时间应该在提供的时区内.我想要的功能有这个签名:

public DateTime GetNextTransition(DateTime asOfTime, TimeZoneInfo timeZone)
{
    // Implement me!
}
Run Code Online (Sandbox Code Playgroud)

例如,如果我传入"东部标准时间"TimeZoneInfo对象,以及1/21/2011 @ 17:00作为"asOfTime",我希望此函数返回2011年3月13日@ 2:00.

System.TimeZoneInfo.TransitionTime结构似乎有我需要的所有信息,但理想会有某种内在的机制的规则转换为实际日期.有人有什么建议吗?

c# datetime dst

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

在 SQLite 上转换表达式结果,从浮点数到十进制数

我在使用 SQLite.NET 对 SQLite 数据库运行的查询上有以下表达式。

SUM(Detail.Qty * Products.Weight) AS MovedWeight
Run Code Online (Sandbox Code Playgroud)

查询有效,但由于 Detail.Qty 是十进制,而 Weight 也是十进制,它返回一个浮点数。我正在尝试将其转换为 DECIMAL(10,2) 之类的内容。我知道 SQLite 对数据类型很特别,我确实尝试使用 CAST 但没有成功。

CAST(SUM(Detail.Qty * Products.Weight) AS DECIMAL(10,2)) AS MovedWeight
Run Code Online (Sandbox Code Playgroud)

它也可以工作,但没有注意精度 (10,2),并给我与第一个示例相同的结果。

有人有想法吗?在 DataTable 中将结果转换为十进制也是可以接受的,但我不知道如何在没有丑陋、消耗资源的循环的情况下做到这一点(预计查询在某个时候将返回 3000 或更多结果)。

c# sql sqlite casting

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

Java:如何编译整个代码目录结构?

用例很简单.我得到了使用Eclipse创建的源文件.因此,有一个深层目录结构,任何Java类都可以引用同一个子,兄弟或父文件夹中的另一个Java类.

如何使用javac从终端编译整个东西?

java compilation directory-structure javac

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

如何将DBNULL转换为double?

即时通讯从数据库中获取价值。出现错误,提示“从DBNULL转换为Double无效。” 有人,请帮助我吗?

公共函数Total()为Double Dim Total为Double

    Dim strConn As String
    strConn = ConfigurationManager.ConnectionStrings("***").ToString
    Dim conn As New SqlConnection(strConn)

    Dim strSql As String
    strSql = "SELECT SUM (p.Price * c.Quantity) as 'Total' " & _
    "FROM CartItem sci INNER JOIN Product p ON c.ProductID=p.ProductID " & _
    "WHERE c.CartID=@CartID "

    Dim cmd As New SqlCommand(strSql, conn)

    cmd.Parameters.AddWithValue("@CartID", CartID)

    Dim da As New SqlDataAdapter(cmd)

    Dim ds As New DataSet

    conn.Open()

    da.Fill(ds, "CartItem")

    conn.Close()

    If (ds.Tables("CartItem").Rows.Count) <> 0 Then
        **Total = ds.Tables("ShopCartItem").Rows(0)("Total")**
    Else
        Total …
Run Code Online (Sandbox Code Playgroud)

asp.net ado.net dbnull visual-studio

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

有效地为每位患者选择最新费用

我在SQL Server 2005中有三个表(包括相关行):

Patient (560K rows, has many Appts)
    ID (PK, Clustered)
Appt (5.8M rows, has many ApptCPTs)
    ID (PK, Unique, Non-clustered)
    PatientID (Indexed, Non-unique, Non-clustered)
ApptCPT (13.4M rows)
    ID (PK, Clustered)
    ApptID (Indexed, Non-unique, Non-clustered)
    CPTID (Indexed, Non-unique, Non-clustered)
Run Code Online (Sandbox Code Playgroud)

我希望为每个患者获得每个CPT代码的最新ApptCPT,但到目前为止我所获得的查询大约需要一分钟才能返回~7M行.

我目前的查询:

SELECT
    p.ID AS PatientID,
    MAX(ac.ID) AS ApptCPTID,
    ac.CPTID
FROM 
    Patient p
INNER JOIN Appt a ON a.PatientID = p.ID
INNER JOIN ApptCPT ac ON ac.ApptID = a.ID
GROUP BY 
    p.ID, ac.CPTID
ORDER BY 
    p.ID, ac.CPTID
Run Code Online (Sandbox Code Playgroud)

示例输出:

PatientID    ApptCPTID …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005

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

如何禁用低带宽连接的jquery包含

我有一个简单的网站,它有点使用jquery但它不是必需的所以我想跳过jquery下载,如果用户连接速度慢.

理想情况下,我会检测到连接速度慢,但我认为检测到手机可能是合理的代理.

如果这是可能的,那么我将删除使用jquery的页面部分,并在加载jquery时动态添加它们.

我考虑的选项是:

  • 通过下载小图像来测试连接速度
  • 下载jquery但在一秒左右后超时(我搜索了取消下载但没有找到任何内容)
  • 将jquery全部放在一起,然后编写我需要的javascript(虽然我可能会对某些浏览器出错)
  • 在一些javascript中包装jquery下载,检查andriod或iphone的useragent
  • 尝试使用css媒体选择器来控制jquery下载

但我不确定该说服哪个.

此外,我不能使用服务器端技巧,因为它是一个静态页面(以避免appengine冷启动问题).

javascript jquery bandwidth

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

游戏点和盒子的数据结构

什么是一个很好的数据结构来表示游戏点和盒子的状态?

我想出了使用2个布尔矩阵,用于水平和垂直线,但也许有一种更优雅的方式(以及操作:添加线,检查线,检查方块).

data-structures

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

焦油档案:追加可靠性如何?

我注意到-aTAR 中的选项允许将文件附加到现有存档.这对于创建集文件夹的增量备份有多可靠?这里有谁可以分享他们的经历?

从TAR手册:

 -A, --catenate, --concatenate
       append tar files to an archive
Run Code Online (Sandbox Code Playgroud)

linux gzip tar archive

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

foreach在C++中无法识别

在我的cs106b书中,我们使用表达式"foreach"来浏览Map中的单词列表.我实施了这些代码,并将我的头撞在墙上,面对神秘的错误.这是代码:

   void DisplayWordCounts(Map<int> & wordsCount) {
     foreach (string word in wordsCount) {
        cout << left << setw(15) << word << right << setw(5)
        << wordsCount[word] << endl;
     }
}
Run Code Online (Sandbox Code Playgroud)

在以"foreach"开头的行上我得到以下错误:lesson4-macbeth/life.cpp:58:错误:在'word'之前预期的primary-expression lesson-macbeth/life.cpp:58:错误:'foreach'是未在此范围内声明lesson4-macbeth/life.cpp:58:错误:预期`;' 在'{'之前

我想foreach不被认可.在这种情况下,我如何查看Map类中的项目列表?

c++ foreach

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