网络 > debian 9.0+nginx v1.10.3 与windows server 2016 + iis 10.0的低配置环境下静态小文件benchmark对比

2018-07-10

知乎上遇到杠精,硬和我吹nginx+linux怎么对windows+iis有压倒性优势,硬要说静态文件上有优势。

好吧,反正现在云服务器可以按时间开,可以一试。

试验目的:

通过apache ab,访问指定的小文件,对比rps。

试验对象:

web服务器根目录下,名字为1.txt,内容为jarlyyn换行的小文件。

测试结果

  • 100并发情况下,nginx 每秒请求20976,失败请求0。iis每秒请求20421,失败请求0.
  • 500并发情况下,nginx 每秒请求21933,失败请求0。iis每秒请求19521,失败请求0.
  • 1000并发情况下,nginx 每秒请求15887,失败请求1093。iis每秒请求18220,失败请求0.
  • 2000并发情况下,nginx 每秒请求12218,失败请求1923。iis每秒请求17430,失败请求0.

结论

在1000以下的低并发情况下,nginx表现优异,对iis大概有10%的优势。1000并发级以上时,出现大量失败请求,rps相比iis极速下降。

iis整体随着并发数上升,相应速度组件下降,到2000并发为止,没有请求失败的情况出现。


服务器列表:

  1. 跑ab的测试机,ulimit -n 100000,无其他特殊设置。1核2g内存。
  2. 安装debian 6.0 跑nginx的对象A,apt-get 安装,ulimit -n 100000,关闭日志,无其他特殊设置。1核2g内存。
  3. 安装windows server 跑iis 10.0的 对象b,系统服务管理器安装,关闭日志,无其他特殊设置。1核2g内存。

附图:

访问测试,确保内容正确

由于Bom的缘故,iis版的测试文件大了1byte。但这个对全局影响不大。

nginx服务器:

iis服务器:


测试1:100并发

nginx图:



IIS图



测试2:500并发

nginx图:


iis图:



测试3:1000并发

nginx图:



IIS图:



测试4:2000并发

nginx图:



iis图:



网络 > 第三方登录的选择

2018-01-17

最近在给博客加评论,那势必最方便的是直接使用各家的第三方登录。

国内的微信/支付宝之类的登录虽然轻车熟路,但需要支付费用还不提,还需要审核。

备案还是小事,博客这玩意实在不容易过审,也就不考虑了。

除了吃饭必备的github,之前还打算用Steam登录的。

Steam的第三方登录只有一句openid,什么其他的文档都没有,在坑兹坑兹找了一通后,发现cli下curl访问不到。

对,想起来了,被墙了。

上dotamax上重新授权steam帐号,直连的话无法访问……可怜的dotamax……

反过神来考虑下其他第三方登录的选择。

facebook/twitter,之前倒是做过,但实在是用起来不方便

linkedin到还不错,但是信息太敏感。

纠结了下,能搞定中国政府的美国大互联网公司,应该也只有田字牌,水果和亚马逊了。

亚马逊帐号有的人少。

水果的不喜欢,好像也没提供oauth

那就只能田字牌了,毕竟没用过windows的还是少数啊。

无论如何,只要windows和office还在,微软总不会倒闭的。就怕他乱改。

网络 > 记录:通过nginx设置为站点资源,根据国内国外使用不同的cdn

2017-12-15

目标:加速客户网站访问,使用cdn。

为了效果以及费用考虑,国内的加载阿里云的,国外的加载cloudflare。使用nginx的变量功能实现了这一效果

首先,确认nginx有geoip模块,并下载相应geoip数据

其次,调整nginx.conf的http部分

   geoip_country /GeoIP.dat;
   geoip_city    /GeoLiteCity.dat;
   map $geoip_country_code $cdn {
       default cf;
       CN ali;
   }
然后,调整nginx反代配置,以wordpress为例

       location / {
                       set $cdnpath cfcdn.cfcdn.com;
                     sub_filter_once off;
                       if ($cdn = ali){
                               set $cdnpath alicdn.alicdn.com;
                       }
                       add_header X-Cdn $cdn; 


                       sub_filter '${host}/wp-content/' '$cdnpath/wp-content/';
                       sub_filter '${host}/wp-includes/' '$cdnpath/wp-includes/';
                       sub_filter 'http:\/\/${host}\/wp-content\/' 'http:\/\/${cdnpath}\/wp-content\/';
                       sub_filter 'http:\/\/${host}\/wp-includes' 'http:\/\/${cdnpath}\/wp-includes';
                       sub_filter 'url("/wp-content/' 'url("http://${cdnpath}/wp-content/';
                       sub_filter 'src="/wp-content/' 'src="http://${cdnpath}/wp-content/';
                       sub_filter 'src="/wp-include/' 'src="http://${cdnpath}/wp-include/';
                       proxy_pass         http://127.0.0.1:8080;
                       proxy_set_header   Host $host;
                       proxy_set_header   X-Real-IP  $remote_addr;
                       proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
                       proxy_set_header   X-Scheme $scheme;
       }


完成。


网络 > 上海电信封禁80/443端口后,将公司内网管理系统app接了vpn转到了外网服务器上。

2017-10-26

之前一直想着开个外网固定ip的出口的。

这次被迫实行了。

外网服务器做openvpn server

内网服务器作为openvpn client,固定ip

然后前端nginx直接转发。

网络 > v2ex,现在也就沦落成这样一个地方了,哪怕我最多是个乌鸦,也的确也没什么和猪一起在泥潭打滚的必要了。

2017-09-04

“我这个人,你可以讨厌我,你可以觉得实在是个没啥出息的玩意,真都很正常,但我至少光明磊落,至少我会为我说的话做的事情负责” 至少是这么觉得的。 

今天处理完事情上线,发现一条提醒。 

发现是很可笑的匿名贴。 

无非是把一些我自己发布的信息集中一下,试图 SEO 一下我的公司,诸如我长得丑,我的女儿不一定是我亲生的之 类人身攻击一番。 

看完之后,的确感想很多。 

不是害怕,不是愤怒,而是失望,深深的失望。 

曾几何时,我刚来 v2ex,可不是为了这里吹捧苹果,可不是为了这里觉得几万块的工资就能炫耀一下,可不是这里已有抱怨工作就让人走,可不是这里别人夫妻闹个别扭就让别人离婚。 

因为这里还是有不少讨论很 COOl,记得当年讨论的至少还是技术合伙人之不是该有干股,讨论期权和股权是否还有意义。 

其实大概两年前,我已经开始发帖说怀疑自己是否是已经不适合现在的 V2EX 了,从开始的激动不解。到现在的不屑。 

最近呢?我都不记得今年看到过有啥让我眼前一亮的帖子过。 

事实证明了一切。 

我这一年左右在 V2EX 经了了哪些在其他地方没经历过的事情? 

首先,是某人通过人肉到我,用网络电话试图匿名打电话给我,开口让我说一句上海话看看。 

其次,是微信上某人加我,至少意思上说是感谢我在他回复里的支持。然后,过了几天,把我拉近一个各种嘲讽我 id 的群。拉黑,关了微信的通过 ID 寻找。 

第三,也就是这次的。公布我信息没什么,那一堆人身攻击真是呵呵了。 

恩,在我这文章打了一半,密码被改了……无所谓了。 

我觉得我完全对 V2EX 上的这群人失望了。 

不想多说什么,你们赢了,当然,你们或许觉得是因为公布了我的信息我怕了? 

其实这些信息都很公开。 

我叫徐佳麟,这个很容易查到。 

我的手机可以通过 whois 我的博客地址找到,我没做过任何隐藏,至少也有人验证过。 

我的照片可以通过我的博客上的 500px/图虫上找到。长得的确不怎么样,就不放出来吓人了。 

我目前就职的信息也可以通过我的博客上很容易的找到。 

我的 email 在我的 github 上可以找到。如果不愿意找,也很简单,jarlyyn qq.com

我女儿的照片在我做的简单页面 http://www.xuxinquan.com 上可以找到。 

恩,其实,你们说的没错,我真的怕你们了。 

我真的怕我的老婆,我的女儿,我的朋友问我居然玩这么个这么满是屌丝-----我真的觉得屌丝是一句最恶毒的话-----的地方混。 

不光是物质上的屌丝,还是精神上的屌丝。 

的确这个论坛上还是有一些比较出色的人的。至少我的关注列表也不是空空如也。 

但对于我一个这么个死要面子的人来说,实在是不能忍受别人用那种很嫌弃的眼神看着我,问我怎么混这种地方。 

你们赢了。你们靠自己的方式击败了我。不知道,你们是否满意,是否开心,是否得意? 

愿 V2EX 越来越好,愿 V2EX 成为 livid 的骄傲,愿 V2EX 最终成为所有 v2er 的骄傲。


https://www.v2ex.com/t/387985

网络 > 天猫将放弃IE8

2016-12-06

前两天逛逼乎,发现这个帖子

https://zhuanlan.zhihu.com/p/24091492

不得不说,这是一个很有意义,但又听有魄力的举动。

根据百度流量统计院的数据,目前国内PC端的ie8甚至ie7都有不小的占有率。

以百度的数据来说,ie8及以下的浏览器应该还有大概20%左右的占有率。

这真心不是一个可以忽视的小数据。

网络 > 荃心荃意第一版上线

2016-11-23

https://www.xuxinquan.com

第一个真正意义上自己设计,自己制作的网站。

经验不足,时间有限,只能说效果差强人意。

只能慢慢调整了。

网络 > 把jarlyyn.com买回来了

2016-01-13

如题,之前在namecheap的帐号找不回了,只能等过期。

 

另外,但是为啥用jarln.net而非jarlyyn.com做主域名呢…………

 

依稀记得是因为比较短?

 

自己都快hold不住自己了。

网络 > 用nginx+cookie防止简单的抓取/破解骚扰

2015-07-02

最近公司的能从外方访问测试服务器很不稳定。查看日志是有大量的访问日志,以及很多调用wp/dedecms/phpmyadmin默认登录的地址的'破解'访问。

决定家一个简单的过滤,最早准备用basic auth,但为了尽量不干扰 普通客户的访问,尝试用cookie解决。没有cookie的话显示一个通过js设定cookie的页面。有cookie的话显示正常页面。

 

首先自然是安装nginx,改端口,反代。

配置文件如下 :

server {
  listen IP地址:80;
  error_page 403 /403.html;
  root /errmsg/;
  location = /403.html
  {
    root /errmsg/;
    allow all;
    internal;
  }
  location / {
    if ( $cookie_antiscanpassword != "password") {
      return 403;
    }
    proxy_pass http://127.0.0.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
  location = /antiscanpassword/cookie.js {
    alias /errmsg/antiscanpassword/cookie.js;
  }
  location ~*\.(jpg|png|jpeg|gif|js|css|flv|mp4|pdf)$ {
    proxy_pass http://127.0.0.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  } 
  index index.html index.htm;
}

建立/errmsg/403.html.内容如下:

<html>
<head>
<script src='/antiscanpassword/cookie.js'></script>
<script>
var login=function(){
  var date = new Date();
  date.setYear(date.getYear()+1);
  docCookies.setItem('antiscanpassword','password',Infinity,'/');
  if (docCookies.getItem('antiscanpassword')=='password')
  {
    location.reload(true);
  }
}
login();
</script>
</head>
<body>
</body>
</html>

 

建立 /antiscanpassword/cookie.js,内容见 https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie

然后就可以测试了。

nginx里负责判断cookie值,页面负责赋值和刷新。

对各种静态文件不做判断,方便站外应用。

上了一套后感觉测试服务器的内存占用有显著改善。

可以通过curl进行测试。

这个无法防止各种基于浏览器模拟器的爬虫/恶意程序。

但对于普通骚扰还是能提升点难度的。

网络 > 使用TinyTinyRss服务器和PressApp打造自己的rss服务器。

2015-01-07

今天突发灵感,安装一个自己的RSS聚合服务器。

1.安装TinyTinyRss:

打开官网,下载安装包,创建mysql数据库,标准的php安装,没啥悬念。

安装好后使用admin/password 登录,设置密码和实际使用用户。

然后设置cron,一切轻松简单。

 

2.安装fever插件。

GITHUB 下载最新安装包,解压,丢在plugins目录下。后台启用,设置独立米按摩。

 

3.安装PRESS。

上手机里的市场搜索吧,哪怕国行,应用宝也有。

4.设置。

添加fever帐号.

地址填写为 http://服务器地址/tt-rss/plugins/fever/

帐号为你的登录帐号

密码为fever帐号。

收工,享受吧。