将WAR重新部署到Tomcat的最佳做法是什么?

将WAR重新部署到Tomcat的最佳做法是什么? 假设我有一个服务于长时间运行types的用户的web应用程序(早上login,使用所有说法),并希望不停地重新部署应用程序,以便当前用户可以继续login,但新会话获取创build一个重新部署的战争。 我最好的猜测是使用一个负载平衡器和两套Tomcat实例,但是最好的做法和最好的软件是做什么的(目前的环境是基于Ubuntu,Tomcat和Nginx的。

槟榔(Areca) – 通过更换较大的磁盘来扩展RAID

我想要做的是逐个更换当前raidarrays中的驱动器(1680i)。 在驱动器被更大的同行replace之后,我想要在线扩展数组。 可以这样做吗?

Akamai / CDN – 像akamai这样的CDN需要多less钱?

我一直无法通过谷歌或价格表find任何有关成本的数字。 这些服务实际上花了多less钱(akamai,风头,其中任何一个)? 有没有好的CDN审查/比较网站? 编辑:刚刚下了akamai销售电话 – 他们确定每个客户的价格。 每GB的成本是根据您的平均预期每月带宽。 希望我能够发布更多的细节,因为我得到它们。

Amazon EC2每个实例有多个私有IP地址

我有一个应用程序需要多个专用IP地址,但不需要多个实例的资源的情况。 在这种情况下,我希望在同一个EC2实例上运行多个jboss实例, 而不会造成端口混乱。 我似乎线程截至2009年,说这是不可能的,检查是否已经改变。 编辑:我想重新强调私人IP地址是问题,而不是弹性/公共IP地址。 对不起,我没有做这个更具体的。

Apache的htcacheclean不能扩展:如何驯服庞大的Apache disk_cache?

我们有一个巨大的disk_cache(> 500.000条目,> 50 GB磁盘空间使用)的Apache设置。 caching每天增长16 GB。 我的问题是,caching似乎正在增长几乎一样快,可以从caching文件系统中删除文件和目录 ! caching分区是iSCSI存储上的ext3文件系统(100GB,“-t news”)。 Apache服务器(充当caching代理)是一个虚拟机。 disk_cacheconfiguration了CacheDirLevels = 2和CacheDirLength = 1,并且包含变体。 典型的文件path是“/htcache/B/x/i_iGfmmHhxJRheg8NHcQ.header.vary/A/W/oGX3MAV3q0bWl30YmA_A.header”。 当我尝试调用htcacheclean来驯服caching(非守护进程模式,“htcacheclean-t -p / htcache -l15G”)时, IOwait将会经过几个小时的时间 。 没有任何可见的行动。 只有几小时后,htcacheclean才开始从caching分区中删除文件,这需要花费几个小时。 (2009年在Apache邮件列表中提出了类似的问题,但没有解决方法: http : //www.mail-archive.com/dev@httpd.apache.org/msg42683.html ) 高IOwait会导致Web服务器的稳定性问题(通往Tomcat后端服务器的桥梁有时会停滞)。 我想出了我自己的修剪脚本,它从caching的随机子目录中删除文件和目录。 只是发现脚本的删除率略高于caching增长率 。 该脚本需要大约10秒的时间来读取一个子目录(例如/ htcache / B / x),并释放一些5 MB的磁盘空间。 在这10秒内,caching又增长了2MB 。 与htcacheclean一样,在连续运行修剪脚本的时候, IOwait会上升到25% 。 任何想法? 这是(特别慢)iSCSI存储的特定问题吗? 我应该为一个巨大的disk_cacheselect一个不同的文件系统吗? EXT2? EXT4? 有没有这种情况下的内核参数优化? (我已经尝试了截止日程安排程序和一个较小的read_ahead_kb,没有效果)。

最佳性能:1TB与仅使用顺序读取/写入的应用程序中较大的驱动器

我有一个multithreading的自定义应用程序; 每个线程都运行在自己的逻辑核心上(工作站是一个双核,具有12个物理核心和24个逻辑核心)。 所以有24个线程同时运行。 在过去的两天里,我一直在研究众多的存储选项,而我的脑袋正在以大约15k rpm的速度旋转。 该应用程序有2种模式,它们是独占的:读取数据或写入数据; 通过这个我的意思是说,他们不会做交错读/写。 每个线程只会进行长时间的连续读取或写入操作。 我需要的总存储量是巨大的:超过50磅(如果你在2016年阅读这个数据,你现在可能对“巨大”这个词感到好笑)。 每个线程将读取或写入大约.8tb的文件 我打算使用jbod,因为如果一个驱动器出现故障,我只需要交换它,应用程序将在10分钟内重新创build数据。 我将使用SATA或SAS控制器将驱动器放入外部塔架或机架(还没有计算出这些的+/-值)。 所以,我的问题是:我正确地认为使用1tb驱动器的这个特定的应用程序会比使用驱动器的2倍,3倍或4倍更好的性能明智吗? 看起来,除非一个3 TB驱动器的连续读/写吞吐量是1 TB驱动器的3倍,否则较小的驱动器是要走的路。 显然,使用3 TB驱动器减less了我需要担心的驱动器数量的三分之一,但这只是一个考虑因素,如果我能达到与1 TB驱动器相同的性能。

iptables新的连接与–syn

有什么区别: iptables … -m state –state NEW 和 iptables … –syn 第一个应该selectNEW连接,但是AFAIK新的连接是通过发送TCP syn标志来完成的。 另一个意思就是 – 带有syn标志的数据包。 你可以给任何实际的例子,当上述命令返回不同的结果?

如果指令不工作在Apache的虚拟主机configuration,说“无效的命令”

为什么?? <VirtualHost *:80> ServerAdmin admin@mydomain.com DirectoryIndex index.php <If "%{SERVER_PROTOCOL} != 'HTTPS'"> Redirect / https://www.mydomain.com:443/ </If> ….. </VirtualHost> 保存,然后重新启动: sudo /etc/init.d/apache2 restart Syntax error on line 4 of /etc/apache2/sites-enabled/000-default: Invalid command '<If', perhaps misspelled or defined by a module not included in the server configuration Action 'configtest' failed. The Apache error log may have more information. […]

使用ab运行一些基准,而tomcat开始真的放慢速度

我正在运行一些基准使用Apache的工作台上运行的Tomcat上的Java应用程序。 说我运行一个testing,如: ab -c 10 -n 10000 http://localhost:8080/hello/world 它会运行得很好。 如果我遵循它: ab -c 50 -n 50000 http://localhost:8080/hello/world 它会再次运行良好,但如果我再试一次,它可能会在3500个完成的请求后开始减慢。 我试图debugging这个根本原因需要帮助。 我跑了上面,我有一些未使用的内存的演出,所以内存似乎不是问题。 tomcat6过程确实达到了70-80甚至107%。 似乎重新启动tomcat解决了这个问题,但有时需要重新启动服务器。 这是一个默认的tomcat安装,有200个线程分配给它。 Tomcat日志是空的。 更新 所以我把tcp_tw_recycle / reuse重新设置为1,现在运行netstat显示的计数很低。 在改变tcp_tw_recycle /重用之前,我注意到事情放缓并运行netstat,并且我有32400个tcp TIME_WAIT连接。 所以现在运行基准testing的更新,使用-k开关,我看到更多的吞吐量。 但是,在某些时候,事情再次开始放缓,但重新启动tomcat现在使事情恢复正常。 之前,即使我重新启动tomcat,运行ab的响应时间也会非常慢。 现在改变tcp_tw_recycle / reuse后,重新启动tomcat使事情恢复正常。 运行顶部显示tomcat只有CPU的20%左右,所以现在看来​​问题是与tomcat,但我怎么能弄清楚什么?

Windows任务计划程序 – 当进程(EXE)未运行时运行操作

我有一个exe,启动时,Windows Server 2008 SP2启动。 它始终运行,并执行一项重要任务(获取邮件进行交换)。 在Windows任务计划程序的帮助下,我想检查这个过程是否仍在运行。 我select什么触发器? 或者可能有一些批处理程序的解决方法?

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.