服务页面的开销 - JSP与PHP相比ASPX与C相比

时间:2010-12-20 05:17:43

标签: http optimization advertising

我有兴趣编写自己的互联网广告服务器。

我希望用尽可能少的硬件来提供数十亿次展示。

哪种服务器端技术最适合此任务?我问的是将我的广告页面作为由PHP,Java或.net呈现的页面,或者直接在C中编写Http响应并编写一些多插槽IO怪来处理请求的相对开销(我假设这一个赢了) ,但如果我的假设是错误的,那实际上是最有趣的。)

显然,所有最有效的优化都是在算法级别完成的,但我认为在一天结束时必须有一些速度差异,这使得一种广告投放方式比另一种更好。像apache或IIS引入了多少开销?在那里我必须要有大量额外的垃圾。

在某些时候,我想这更像是一个哪个平台/语言组合最适合的问题 - 请原谅这个不合时宜的问题,希望你能理解我想要达到的目标。

2 个答案:

答案 0 :(得分:3)

你很难找到这样一个问题的客观答案。变量太多了:

  • 您的应用是否与数据库通信?如果是这样,哪一个?如何建模数据?使用哪种策略来获取数据?
  • 您的应用是否通过网络与服务器进行通信(Web服务,缓存服务器等)?如果是这样,该机器是什么样的?网络是什么样的?
  • 您的任何一台机器是否均衡负载?如果是这样,怎么样?
  • 有缓存吗?哪一种?它在哪里生活?缓存数据如何保持不变?
  • 您的应用是如何设计的?你确定它的性能最佳吗?如果是这样,你怎么确定?
  • 开发成本何时超过添加新服务器的成本?程序员很贵。如果降低成本是减少硬件的目标,那么通过使用程序员感觉高效的语言,您可以节省更多的钱。
  • 您使用的是第三方工具吗?你应该吗?他们快吗?某些第三方工具不会降低您的成本吗?

如果你想要某种基准,Trustleap publishes challenge results在他们使用ANSI C脚本的G-Wan服务器,使用C#的IIS,使用PHP的Apache和使用Java的Glassfish之间。我之所以加入它只是因为它试图衡量你提到的确切技术。如果不考虑上面的变量,我就永远不会满足于技术。

答案 1 :(得分:1)

<强>勘误表:

G-Wan使用ANSI C脚本(而不是如上所述的“编译的ANSI C”)

透明地将同步(连接/接收/发送/关闭)系统调用转换为异步调用(即使对共享库也是如此)。

这有助于扩展数据库服务器请求,帖子等。