Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
xxq
@xxqfamous
高级会员
第 3287 位会员 / 2012-08-16

xxqfamous@gmail.com
1 篇帖子 / 48 条回帖
1 关注者
1 正在关注
12 收藏
未设置 GitHub 信息。
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • 当前项目 Passenger+Nginx 的模式部署,Passenger 采用的是免费版,最近想并发测试一下性能,Passenger 默认开启了 16 个进程处理请求,但是发现大部分时候只有第一个进程在处理了大量请求,其他进程都在闲置 at 2022年11月03日
    1. 免费版只支持单线程,这应该是并发上不去的根本原因。
    2. passenger_max_requests,当 processed 大于该值时,线程销毁再创建新的线程;passenger_max_requests 根据机器性能自动计算最大值,但基本上不会大于 2000,所以和设置 0(不限制)是没区别,当并发比较大的时候,仅会有少量 processed 分配到其他线程。2000 和 20 的区别,当设置 20 的时候,看似有大部分 processed 分配到其他线程了但仍没有占满全部线程,那是因为一个线程到了 20 的时候已经被销毁了,你看到的是不断销毁和创建的新线程,从 id 可以看出。
    3. passenger_max_pool_size,官方算法 max_app_processes = (1024 * 32 * 0.75) / 150 = 163.84,这在免费版只代表有多少备用线程,不是并发线程。企业版的配置是完全不一样的,如有用过企业版的朋友可以分享一下。
  • 「大型 Q&A」有人对开发 Shopify App 感兴趣吗? at 2021年09月22日

    说白了还是国人不擅长,如果对海外 SaaS 和海外电商有很深的了解,不用做 app 了,直接创业做跨镜电商或任职国内好的跨镜电商公司高管不是问题

  • Mac 新系统安装 Ruby 失败问题 (转) at 2021年02月21日

    openssl1.1 是 ruby2.4 以上版本才能用,先安装 openssl1.0

    wget https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
    brew install openssl.rb
    
  • [上海] 春栖科技:诚邀 Ruby/React 工程师 at 2018年08月01日

    这找家要钱,扎铁了

  • [长沙 待遇优厚] 招聘 Ruby 工程师 at 2018年01月18日

    应该属于学校信息部门或教授自接项目吧

  • puma 中的 threads 和 workers 配置应该如何设置比较好? at 2018年01月02日

    @zealinux threads 是线程数,worker 是进程,当 workder=1 时也可以将 threads 设成 16 或更高,核心数是 16 当然 worker 设成 16 是没有问题,但 threads 是需要同时设置的,一般默认初始大小是 0:16,通常设置 8:32 最为合适吧,我曾经也测试过 threads 值 8:64 越大是不是更好,事实效果不明显也可以说不好,决定性在于核心数。

  • MySQL 提交 commit sql 执行特别慢,求助 at 2017年11月10日

    单条只是执行 SQL 语句,commit 是事务写入,写入取决于你的数据库硬盘写入速度

  • 用 Rails 写 API 服务,性能感觉不足,怎么办? at 2017年07月25日

    服务器配置是怎样的?什么应用服务器,三个 API 的响应时间,低峰高谷的响应时间

  • [杭州] 诩阆团队诚招一名兼职 Ruby 工程师 (实现支付宝付费功能) at 2017年02月27日

    平台是买的吗?还需要请人做支付?能部署起来完成支付宝对接相当容易啊 支付宝接口的 gem https://github.com/chloerei/alipay

  • transaction 中 例如 create! 又包含在一个小的 begin..commit 中何解? at 2016年09月19日

    create! 方法判断是否保存成功抛出异常达到事务回滚,直接用 create 方法,手动判断是否成功抛出异常即可啊

    ActiveRecord::Base.transaction do 
              base_template = BaseTemplate.create(name:template_name,desc:template_desc)
              raise ActiveRecord::Rollback if base_template.nil?
              base_log =         BaseLog.create(name:log.name,desc:log.desc,path:log.paths,absolute_path:log.absolute_path,legal_name:log.legal_name,base_template_id:base_template.id)
          raise ActiveRecord::Rollback if base_log.nil?
              BaseCharpter.bulk_insert(set_size:100) do |work|
                charpters.each do |charpter|
                  work.add({name:charpter.name,desc:charpter.desc,base_log_id:base_log.id})
                end
              end
              log.update!(custom_template:1,custom_template_id:base_template.id)
            end
    
  • Rails + Puma 线程死掉了没有报错么? at 2016年07月05日

    如果是使用的 UNIX Sockets 时 puma 会过早放弃超时连接,建议使用 TCP

  • 支付宝准备下架『担保交易』之后,个人开发者该如何应对? at 2016年01月21日

    还有人在用支付宝的担保交易也是醉了

  • 大家刚参加工作时的待遇、福利都是怎么样的? at 2016年01月20日

    06 年,宁波,1200

  • 大家前端用嵌入 Erb 还是用 Haml 呢? at 2015年12月01日

    从习惯来说,用过 haml ,slim 会爱上,从加载速度、性能要求而言,最好用 erb

  • Ruby 如何与 C 中的 struct 结构体进行 TCP 的交互? at 2015年10月26日

    1.thrift 2.Hprose

  • 每次 bundle install 都出现要求 gem install x -v' xxx' at 2015年07月29日

    bundle update

  • 关于多次查询排序输出结果的问题 at 2015年07月20日

    #4 楼 @sandwind 你可以对比下你现在的写法和 scope 写法控制台 sql 日志,多看看文档,理解 scope 用途意义

  • Grape 的 before 没有 except 怎么解 at 2015年07月20日

    #3 楼 @birbird 不需要鉴权的 api 还需要多个 namespace?这样还谈什么优雅

  • 关于多次查询排序输出结果的问题 at 2015年07月20日
    posts.sort!{|a,b| b.id <=>a.id }
    
  • 关于多次查询排序输出结果的问题 at 2015年07月20日
    def self.main(main)
       where(main: main)
     end
    
     def self.sub(sub)
      where(sub: sub)
     end
    
     def self.create_before(date)
       where("created_at < ?", date)
     end 
    
     def self.create_after(date)
       where("created_at > ?", date)
     end
    

    首先这些方法都改成 scope 吧,至于排序你先搞清楚要的哪种结果吧?得到 21-25 的结果集什么场景用到了,降序得到 96-100 从排序的意义上来说就应如此

  • Grape 的 before 没有 except 怎么解 at 2015年07月17日

    可以加 namespace 把 api 分开

  • 为什么很少见有使用 DRuby 开发分布式应用的? at 2015年07月07日

    分布式应用着重于跨语言,基于什么协议调用,druby 只在 ruby 上封装了一层 tcpsocket 协议,没有其他语言的支持,相比于 ruby 的 socket 和 http reset 调用毫无优势,注定只是个 demo 多语支持且支持 ruby 的不多,thrift 当前最佳选择,最近还发现一个 Hprose

  • 携程这回玩大了 at 2015年05月28日

    秒楼上啊。。。猿粪

  • 携程这回玩大了 at 2015年05月28日

    记得网站是.net 做的,windowns 不奇怪

  • 关于 Fragment Caching at 2015年05月07日

    在 cache_store 里应用原理是一样的,在 key 值也会生 views 前缀

  • 关于 Fragment Caching at 2015年05月07日

    有文件的,views 的里 cache 会默认加 views 前缀,tmp/cache 里搜索下 find -name "views*"

  • 关于数据库连接池的疑问 at 2015年03月23日

    提的问题逻辑很差 1、先按每分钟 100W 请求来算吧,不能说 pv 吧,pv 和请求是不一样的,那么每秒吞吐量在 1.7W/s,去掉静态资源请求,一般 rails 应用保持在 500-1000/s 就不错了,先测试你的单服务器每秒的吞吐量,同时得出需要多少机器支撑 2、服务器数据库连接池计算,有最大连接设置,就得按每个应用最大连接来计算了,最大连接数应用个数服务器数量=数据库最大连接数

  • 关于 Devise.email_regexp 的邮箱验证默认表达式是否 “错误” at 2015年03月23日

    #1 楼 @king1990_cool 谢谢,理论上是如此吧,但在工作环境中都应该不允许存在吧,或者说经过测试人员之手都会出现在 bug 单上

  • 使用 Unicorn 的 ROR 项目,提供文件下载的问题 at 2015年03月18日

    动态文件?你能确实文件大小,就可以先生成在某个目录吧,然后直接走 nginx

  • 1
  • 2
  • 下一页
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English