小编Dan*_*oap的帖子

socket:打开文件太多(24)apache bench lighttpd

当我启动Apache Bench测试时:

ab -n 10000 -c 1300 http://domain.com/test.php

我收到错误:

socket:打开的文件太多(24)

当我改为'-c 1000'时它工作正常.

因为我可以有超过1000个并发用户,我想修复socket太多打开文件问题或增加参数.怎么做到这一点?

我在centos 5上使用lighttpd.

apache scalability lighttpd file-descriptor

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

从Oracle迁移到MySQL

我们的Oracle数据库遇到了严重的性能问题,我们希望尝试将其迁移到基于MySQL的数据库(MySQL直接或更优选的是Infobright).

问题是,如果新数据库的所有功能都符合我们的需求,我们需要让新系统和新系统重叠至少几周(如果不是几个月).

那么,这是我们的情况:

Oracle数据库由多个表组成,每个表包含数百万行.在白天,有数以千计的陈述,我们无法停止迁移.

每天早上,新数据都会导入Oracle数据库,取代数千行.复制此过程不是问题,因此理论上我们可以并行导入两个数据库.

但是,这里的挑战在于,为了实现这一目标,我们需要从Oracle数据库导出一天的一致状态.(周一我们不能导出一些表,周二也不能导出其他表等)这意味着,至少导出应该在不到一天的时间内完成.

我们的第一个想法是转储模式,但我找不到将Oracle转储文件导入MySQL的工具.以CSV文件导出表可能有效,但我担心这可能需要很长时间.

所以现在我的问题是:

我该怎么办?有没有工具可以将Oracle转储文件导入MySQL?有没有人有这种大规模迁移的经验?

PS:请不要为Oracle建议性能优化技术,我们已经尝试了很多:-)

编辑:我们之前已经尝试过一些ETL工具,但却发现它们不够快:仅导出一个表已经花了4个多小时......

第二次编辑:来吧伙计们...没有人尝试过尽快导出整个数据库并转换数据以便将其导入另一个数据库系统?

mysql migration oracle import dump

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

将日期时间拆分为日期和时间值

有人能给我一个快速而肮脏的方式将日期时间(28-1-2011 14:32:55)分成日期(28-1-2011)和时间(14:32)甚至更好(2: 32 PM)使用PHP.也使用mySQL数据库.

干杯

php mysql

15
推荐指数
3
解决办法
4万
查看次数

如何将网站部署到网络服务器?

在我的公司,我们有一组8个Web开发人员用于我们的业务网站(完全用PHP编写,但这无关紧要).小组中的每个人都在同时处理不同的项目,每当他们完成任务时,他们会立即部署它(因为这些天业务发展很快).

目前,开发发生在一个共享服务器上,所有开发人员都使用相同的代码库(使用RCS将文件"锁定"远离其他文件).部署到期时,更改的文件将复制到"临时"服务器,然后同步脚本将文件上载到我们的主Web服务器,从那里将文件分发到其他9台服务器.

很高兴,网络开发团队向我们寻求帮助以改进流程(在我们抱怨一段时间后),现在我们建立开发环境的想法如下:

  • 一个带有虚拟目录的开发服务器,这样每个人都有自己的代码库,
  • SVN(或任何其他VCS)跟踪变化
  • 用于测试保存最新签入代码的中央服务器

现在的问题是:我们如何设法将更改的文件部署到服务器而不会意外地从其他项目上传错误?我的第一个想法是简单地从存储库中导出最新版本,但这不能完全控制文件.

你是如何处理这种情况的?你有什么样的部署脚本?

(作为一项特殊挑战:该网站在过去十年中有机增长,因此项目不会分成小块,但一个特定功能的文件遍布目录树.)

php svn deployment webserver

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

DATE_SUB()和使用算术运算符进行日期时间计算有什么区别吗?

在我看到很多问题后,使用DATE_SUB()DATE_ADD()函数而不是算术运算符,+或者-我想知道是否有任何区别:

MySQL手册中引用:

日期算术也可以使用INTERVAL和+或 - 运算符一起执行:

date + INTERVAL expr unit
date - INTERVAL expr unit
Run Code Online (Sandbox Code Playgroud)

所以基本上,这两个语句返回相同的结果:

SELECT DATE_ADD(NOW(), INTERVAL 7 DAY);
Run Code Online (Sandbox Code Playgroud)

SELECT NOW() + INTERVAL 7 DAY;
Run Code Online (Sandbox Code Playgroud)

现在我的问题:

在MySQL中DATE_SUB()使用-运算符和使用运算符有什么区别吗?(除了可读性?)

mysql math datetime date function

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

定义soap服务(通用操作与特定操作)的最佳实践是什么?

我的情况如下:

我有一个标准化的数据库,我在其中保存有关机场的地理信息.结构是:

airport --is in--> city --is in--> country --is in--> continent
Run Code Online (Sandbox Code Playgroud)

现在我想让用户管理这些数据,而不是让他们直接访问数据库.我们需要通过Web服务提供此管理界面.

现在,在设计服务时,我们讨论了如何定义操作.我们提出了不同的解决方案:

解决方案A:具体操作

对于四个表(机场,城市,国家,大陆)中的每一个,我们定义了3个操作:

  • 插入
  • 得到
  • 更新

这将导致12个操作,其中2个请求/响应对象= 24个对象

要创建一个包含所有依赖项的全新机场,至少需要4个请求.

解决方案B:通用

只有一个操作,通过参数控制.此操作能够创建管理数据库所需的一切.

该操作将决定需要做什么并执行它.如果发生错误,它将回滚所有内容.

==> 1操作= 2个高度复杂的请求/响应对象

解决方案C:在中间见面1

每个表一个通用操作,它能够执行get,insert,update,就像解决方案B一样,但每个都集中在一个表上.

==> 4次操作= 8个复杂的请求/响应对象

解决方案D:在中间见面2

每个操作(get,insert,delete)的一个通用操作,可以在每个表上运行并解决依赖关系.

==> 3次操作= 6个稍微复杂的请求/响应对象

由于这是相当抽象的,所以用于创建请求对象的简化示例(JFK /纽约/美国/北美):

解决方案A:

要求1/4:

<insertContinent>North America</insertContinent>
Run Code Online (Sandbox Code Playgroud)

要求2/4:

<insertCountry continent="North America">USA</insertCountry>
Run Code Online (Sandbox Code Playgroud)

要求3/4:

<insertCity country="USA">New York</insertCity>
Run Code Online (Sandbox Code Playgroud)

要求4/4:

<insertAirport city="New York">JFK</insertAirport>
Run Code Online (Sandbox Code Playgroud)

解决方案B:

要求1/1:

<action type="insertCountry" parent="North America">USA</action>
<action type="insertAirport" parent="New York">JFK</action>
<action type="insertContinent" parent="">North America</action>
<action type="insertCity" parent="USA">New York</action>
Run Code Online (Sandbox Code Playgroud)

解决方案C:

要求1/4:

<countryAction type="insert" parent="North …
Run Code Online (Sandbox Code Playgroud)

soap wsdl web-services

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

你会给你妈妈哪位编辑让她编辑自己的网站?

我的意思是字面意思.近亲希望为自己的公司创建自己的网站并向我寻求帮助.我已经邀请她建立网站,处理域名注册等等,但我没有时间为她设计网站.所以,我想给她一个软件,她可以在其中编辑页面并自己发布.

我的功能愿望清单.该软件应该

  • 当然,易于使用,因为她不是电脑的专业人士
  • 输入ftp-connection后,能够发布网站
  • 有一些预定义的主题,但也有定义自定义主题的可能性
  • 提供德语用户界面,因为她不懂英语

我到目前为止看着Nvu(太复杂),zeta Producer(甚至在我开始编辑第一页之前就崩溃了),CityDesk(非常有前途,但仍然太复杂而且不是德语).我很满意Namu6,但不幸的是,它只是英文版.

我很高兴有任何建议.

[编辑]

有些人要求一个平台:她只使用Windows,因此Mac或Linux不是一个选择.

html editor publishing web

7
推荐指数
3
解决办法
753
查看次数

在MySQL中选择TIMESTAMP而非DATETIME列的理由是什么?

免责声明:这可能是日期时间与时间戳的重复,但我觉得我不相信答案:

我的问题是:
在MySQL中选择TIMESTAMP而不是DATETIME列有什么好理由?

我很确定我不知道关于这两者之间的差异的所有内容,所以我将尝试列出DATETIME(DT)与TIMESTAMP(TS)相比我的知识的主要优点:

  • DT是人类可读的(TS不是没有使用TO_DATE)
  • DT有8999年的时间跨度possble(1000-01-01 00:00:009999-12-31 23:59:59)
    (TS大约只有68岁,1970-01-012038-01-19)
  • DT字段似乎表现更好(根据这篇博文)
  • DT可用于高级日期计算(SELECT NOW() + INTERVAL 2 DAY)

反之亦然:

  • TS只需要4个字节(DT使用8个)
  • TS 存储为UTC值并根据客户端的时区设置进行更改
  • TS 列可用作"日志",用于监视行何时发生更改

我看到使用它的唯一原因就是行监视,但是查看范围TIMESTAMP,它将以"仅"28年*结束,我宁愿选择插入或更新触发器.

那么,我错过了什么?我还没有看到一个真正的好理由为任何目的而选择时间戳?

*我知道,这看起来很长,但是在60年代,一些工程师也决定削减2字节的年度字段,因为他们的计算机系统永远不会运行到2000年.....

mysql datetime timestamp date

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

Codeigniter:如何在codeigniter上下文中提供静态html页面

大家好我想在codeigniter上下文中提供一些静态html页面.我不想绕过base_url中的index.php文件.但是当我用户调用HTML文件时,它会显示404错误页面.我很感谢那些已经解决这个问题的人对这个主题的任何帮助.谢谢大家提前

我想要精确这些元素:

  1. 我真正的问题是为用户提供PDF文件,只在浏览器中显示一个不保存的PDF文件.所以我将PDF转换为HTML文件.输出是一个目录,其中HTML文件链接在它们之间,其他图像/按钮,CSS,js用于导航
  2. 当我把这个HTML-OUTPUT放在ci\Docs\HTML1目录中时,我可以通过这个URL localhost/ci/docs/html1/index.htm访问它.但是在我使用localhost/ci/index.php/docs/html1/index.htm的地方,我得到了一个404错误页面.
  3. 所以我将HMLT1目录移动到了Application\views目录.我仍然有同样的错误.我的.htacces看起来像这样:

    <IfModule mod_rewrite.c>
    
    RewriteEngine on
    RewriteCond $1 !^(index\.php|resources|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
    
    </IfModule>
    
    Run Code Online (Sandbox Code Playgroud)

谢谢大家帮助

codeigniter

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

如何在不渲染枝条模板的情况下分析枝条模板?

对于我们正在开发的自定义CMS,我们希望使用twig模板(因为这是我们的前端构建的).模板可以使用twig提供的"默认"功能集(例如包括,块,标签,函数,您可以命名),但我们也希望为页面提供某些"小部件".

例如,模板可能如下所示:

<h1>{{ 'our_products'|translate }}</h1>

{{ widget_search(widget_parameters) }}
Run Code Online (Sandbox Code Playgroud)

所有函数调用widget_都是我们特殊的CMS小部件.

在后端,我们希望编辑人员填写我们的小部件所需的参数.因此,对于包含widget_search例如的模板,应该向他们显示输入字段,他们可以在其中输入搜索词,但是他们不应该更改任何其他内容.对于每种页面类型,我们将创建一个由我们的前端开发人员手工制作的模板.

我现在的问题是:我们如何分析树枝模板并提取所有函数调用的列表,以便我们可以构建后端GUI(无需渲染后端的模板)?

我调查了Twig_Parser但是我不确定如何利用它?特别是,如果它包含其他文件会发生什么?这会被解析器解决吗?

(因为后端GUI是面向公众的网站的单独应用程序(但他们都知道模板文件),我们不能简单地渲染模板,因为前端可能注册了后端根本无法执行的Twig函数. )

php parsing templates twig

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

PHP:是否可以检索子类的类名?

class Bob extends Person
{
    //do some stuff
}

class Person
{
    public function __construct()
    {
        //get the class name of the class that is extending this one
        //should be Bob
    }
}
Run Code Online (Sandbox Code Playgroud)

如何Bob从类的构造函数中获取类名Person

php oop

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

PHP函数内的数组

我正在尝试从函数内部访问数组数据,但不断收到错误:Undefined varaible:status.知道怎么纠正这个吗?

<?php

$state = 'New York';

function state_values($state){
    switch ($state) {
        case 'New York':
            echo "State is $state";
            $status = array("abbr" => "NY", "code" => "03");
            return $status;
            break;
        case 'California':
            echo "State is $state";
            $status = array("abbr" => "CA", "code" => "06");
            return $status;
            break;
        case 'Washington':
            echo "State is $state";
            $status = array("abbr" => "WA", "code" => "05");
            return $status;
            break;
    }
}

# Call the function
state_values($state);


echo $status['abbr'];
echo $status['code'];


?>
Run Code Online (Sandbox Code Playgroud)

php

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