服务器 Gind.cn

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

减less美国用户与欧盟服务器之间的延迟

我在泡菜。 我曾以为我的服务器是在加拿大,但原来是在法国。 我现在没有时间进行服务器迁移(如果访问者是美国,最终目标为75%)。 使用pingdom的网站速度testing,当我从瑞典testing时,第一个字节的等待时间约为140ms。 当我从加利福尼亚州进行testing时,大概是680毫秒。 我需要尝试和减less这一点,因为谷歌说爬行网站速度很慢,总体而言,大多数访问者都来自美国,所以我需要改善他们的体验。 Cloudflare正在caching静态资产,所以虽然延迟也在css,js和images的600多个地区,但一旦Cloudflareselect了这些文件,它们就会下降。 我的重点是现在在PHP文件。 我无法使用nginx,因为我无法通过代理完成100%的htmlcaching。 但是,我可以使用redis来caching99%的HTML。 我已经升级到php7,Apache现在可以通过快速CGI进行工作。 我使网站尽可能快地使用沉重的内存caching和摆脱所有未使用的模块等。这个网站是相当迅速的testing从pingdom在加利福尼亚州花费2-3秒完全呈现一个没有击中的页面HTMLcaching。 但是,如果我能摆脱600毫秒延迟的一些,我会快速。 除了在欧盟和美国拥有服务器并使用负载平衡器外,我还能做些什么来加速美国用户的使用体验,摆脱一些困难? 我在法国服务器上使用Apache 2.4和php7(快速CGI)运行Centos 7。 该服务器是专用的16GB内存和4核心与8线程2.4GHz的至强。

系统服务在重启时的行为

在Debian 8上,我部署了一个由几个小应用程序组成的应用程序,其中一个小应用程序使用HDF5文件。 HDF5文件的问题是你必须closures它们。 例如,如果你编程的程序片断或你的程序被杀死, HDF5文件被损坏。 根据HDF5文件的大小,closures它可能需要几秒钟的时间。 我有一个工具mondas_ctrl这是我的应用程序的pipe理器,他们的结构在这里并不重要。 login(通过SSH)我可以执行mondas_ctrl start或mondas_ctrl stop没有问题,特别是停止命令知道如何处理HDF5文件(通过添加延迟之间)。 使用旧的SysV,我可以通过改变/etc/inittab上的运行级别6来延迟暂停进程,这是一个自写的脚本,它在执行init 0之前负责照顾HDF5文件。 现在systemd是默认的,我不得不改变我对init.d文件和服务的看法。 所以我写了一个使用我的经理来启动和停止我的应用程序的用户服务: 文件: ~/.config/systemd/user/mondas.service [Unit] Description=Mondas [Service] Type=oneshot RemainAfterExit=yes ExecStart=/home/mondas/anaconda/default/bin/mondas_ctrl start ExecRestart=/home/mondas/anaconda/default/bin/mondas_ctrl restart ExecStop=/home/mondas/anaconda/default/bin/mondas_ctrl stop KillMode=none [Install] WantedBy=default.target 起初我对停止命令有点麻烦。 读完这个线程后,我添加了Type , RemainAfterExit和KillMode选项。 这些帮助了很多,现在我可以做到这一点: $ systemctl –user start mondas $ systemctl –user stop mondas $ systemctl –user start mondas 尽可能多的停止命令不会杀死任何东西,我的mondas_ctrlpipe理器停止HDF5应用程序,该文件被closures,并没有被损坏。 但是当我做一个系统范围的重新启动(无论是通过执行reboot或shutdown -r now ), […]