Lenix -


##PHP配置## php-fpm设置: 一./etc/php/5.5/fpm/pool.d/www.conf中 pm.max_children = 200 pm.start_servers = 9 pm.min_spare_servers = 9 pm.max_spare_servers = 150 listen.backlog = 4096 PHP.ini配置: 二./etc/php/5.5/fpm/php.ini memory_limit= 10240M php opcache设置: 三./etc/php/5.5/fpm/conf.d/10-opcache.ini: opcache.enable=1 opcache.enable_cli  1 opcache.fast_shutdown  1 opcache.file_update_protection   0 opcache.max_accelerated_files  100000 opcache.memory_consumption  5120 opcache.revalidate_freq  10 ##nginx配置## /etc/ … The post PHP与nginx及linux的性能设置. first appeared on Lenix Blog.

AI生成摘要 本文介绍了在高并发情况下优化PHP、Nginx和Linux内核参数的方法,包括修改php-fpm、PHP.ini和opcache配置,调整Nginx的worker_processes和worker_connections,以及编辑/etc/sysctl.conf和/etc/security/limits.conf文件。这些优化可以提高服务器的性能和稳定性。

相关推荐 去reddit讨论

鸟窝 -

使用Linux tracepoints、perf 和 eBPF 跟踪包的旅程

原文: Tracing a packet journey using Linux tracepoints, perf and eBPF 很久以来我一直在寻找一个底层的Linux网络调试工具。我一直在寻找一个低级的Linux网络调试工具已经有一段时间了。Linux 允许使用虚拟接口(virtual interface)和网络命名空间(network namespace)的组合来构建直接在主机上运行的复杂网络。当出现问题时,故障排除相当乏味。如果这是 L3 路由问题,mtr则很有可能会有所帮助。但是,如果这是一个较低层的问题,我通常会手动检查每个接口/网桥/网络命名空间/iptables并启动几个tcpdump,以尝试了解正在发生的事情。如果您事先不了解网络设置,这可能感觉像走迷宫。

AI生成摘要 本文介绍了使用Linux tracepoints、perf和eBPF跟踪数据包路径的方法,包括自定义跟踪器和过滤条件。作者建立了一个简单易用的底层数据包跟踪器,并提到eBPF/bcc可用于深度故障排除和跟踪。

相关推荐 去reddit讨论

GitLab -

Migrating Arch Linux's packaging infrastructure to GitLab

Three years ago, the Arch Linux community began a migration to the GitLab DevSecOps Platform to modernize our software development tooling and processes. We recently announced a major moment on that journey: migrating our entire packaging toolchain to Git and GitLab. This move completely reshaped our packaging workflow, tooling, and storage — the very backbone of our package creation process. The move has been pivotal for our continued success as a project. Our package repositories contain nearly 14,000 packages at the time of this writing, and GitLab's collaborative features empower our package maintainers to seamlessly collaborate, promoting efficient and effective teamwork. Using GitLab as a central platform also enhances visibility across the project. We can now effortlessly trace the history of changes, collaborate on enhancements and bugs, and follow the evolution of each package — all in a single place. Join GitLab at Open Source Summit Europe 2023 to learn more about our dedication to open source. I'm a devoted free open source software engineer and currently have the privilege of serving as the project leader of Arch Linux. In this article, I'll explain how and why we undertook this complex, but ultimately worthwhile, endeavor. Understanding Arch Linux's infrastructure To understand the complexity of this migration, you'll first need to understand the history of Arch's infrastructure. Central to our distribution are our PKGBUILD packaging sources, which are the essential blueprints that shape each package installable with pacman from our official repositories. Previously, our packaging infrastructure relied on Subversion for managing our packaging sources. For more than a decade of Arch Linux's development, Subversion served as a reliable companion for working with our packaging source code. However, the open source software development landscape has transformed significantly since the advent of the Arch Linux project; technologies have advanced and collaboration dynamics have evolved (note, for example, the popularization of DevOps processes and practices). Recognizing the need to adapt and optimize, we started a journey that would shape the future of how members of the Arch Linux community work together. To enhance collaboration and pave the way for future improvements to Arch, we decided to undertake migration of our packaging sources to individual Git repositories, and we chose to host them with GitLab. Migrating 14,000 Arch Linux packages This would be no small task. Currently, the Arch Linux community maintains 13,930 installable packages, all of which are now managed in 12,138 individual Git repositories. But we knew the benefits would be worth the effort involved in such an enormous migration. For example, one of the standout advantages of Git is its ability to empower packagers with a new level of insight into their work. The ease of inspecting local history would become a game-changer, especially as packaging evolved into a collective effort, with multiple maintainers collaborating to refine and enhance individual packages (Subversion requires a client-server connection to inspect the history). But the decision to migrate was not just about adopting Git. It also reflected our aspiration to provide our community with an environment that fosters extensive collaboration. Our history with Subversion had shown its limitations in this regard (more on that in a moment). The synergy between Git packaging repositories and the GitLab platform was evident; it opened doors to enhanced collaboration, offered powerful version control features, and laid the groundwork for more efficient packaging processes. The migration of Arch Linux's packaging infrastructure to GitLab was the pinnacle of several factors aligning perfectly. The need for a more robust collaboration platform, the growing prominence of Git, and the desire to utilize the benefits of modern version control converged to make this move a natural progression for Arch. We decided it was time to get it done. Three years and a weekend Arch Linux has been gradually adopting and migrating operations to GitLab over the course of three years. Extending that migration to our packaging infrastructure was the next vital step of the process — and the pivotal moment of switching to GitLab hosting and workflow for packaging occurred within the span of a single weekend. A change of this magnitude touches the very core of our distribution, and it was only possible with thorough, meticulous preparation. For weeks, our migration team diligently crafted a runbook that ensured every major aspect and change were considered, minimizing risk and boosting our confidence. When our concentrated migration effort began, the migration team focused entirely on this rollout, everyone collaborating in a Jitsi video call with screen sharing. The strategic choice of a weekend for performing the migration aligned perfectly with our volunteer-driven community, offering sufficient time for a buffer and quick resolution to any unforeseen hiccups. The first challenge was transferring our extensive Subversion history to GitLab. For some time, we had been running git-svn with a timer to be able to provide some packaging history to another repository. Our custom tooling made use of git-svn imports, which was a gigantic monorepo containing all packages as individual branches. Our migration solution was a carefully crafted script that used git-filter-repo, of which we could run several instances in parallel and which also supported the ability to convert only repositories that changed since the last run (determined by deltas). The script also filtered history, commit messages, rewrote author data to incorporate our GitLab user handles, filtered unwanted files, and more. Additionally, we tagged all previous releases where we could determine the origin of the exact commit. But the migration wasn't confined to a mere transfer of Subversion history to GitLab; it involved revisiting workflows, tools, and all software that interacted with the version control system. From redefining workflows to embracing new tools, every step was vital to ensuring that Arch Linux developed in a coherent way. We also wanted to seize the moment as an opportunity to reimagine and revamp package maintainer tooling. So we also created pkgctl, a modern interface that not only refreshed and streamlined our tooling but also enhanced user and contributor experience. Fortunately, the entire migration flowed seamlessly. By the end of the weekend, we had succeeded. Benefits of a journey with GitLab Our packaging migration was the latest milestone in Arch Linux's overall journey with GitLab. Migrating our packaging infrastructure to GitLab allows us to maximize and enjoy those improvements even more. Since the Arch Linux community began migrating to GitLab in 2020, Arch maintainers and contributors have enjoyed a significantly improved experience interacting with and contributing to the project. The advantages not only enhance our current workflows but also open up exciting possibilities for the future. Here's a rundown of the benefits we've seen from our overall migration so far. Deeper collaboration Before the migration, for example, lack of a dedicated collaborative platform for our packaging sources posed challenges to both users and package maintainers. While Flyspray, our bug tracker, was valuable, its scope was limited to tracking issues rather than facilitating meaningful collaboration. Proposed changes were often submitted as patch files in attachments, resulting in a cumbersome experience for users suggesting improvements and maintainers reviewing these changes. The process of iterating through these patch files was tedious because we lacked the ability to comment on specific lines (not to mention the ability to discuss diverse sub-topics in individual threads). Today, GitLab's standard merge request feature has improved this process dramatically. It helps us collaborate smoothly, allowing threaded discussions, precise comments, and code suggestions on individual code segments. Although merge requests are a simple, staple feature, their impact on streamlining our processes is invaluable, serving as the bedrock of GitLab's collaborative strength. The ability to seamlessly integrate issue tracking and merge requests within the same platform fosters a more cohesive and efficient workflow for our entire community. We're looking forward to tracking and managing packaging-related issues, bugs, and enhancements directly within GitLab soon. Better automation Our use of GitLab CI/CD has played a crucial role in automating our development work across our software projects. We utilize CI/CD pipelines for everything from running tests to auditing dependencies—even publishing release artifacts, such as Rust crates, automatically using a tag pipeline. The efficiency we gain through this functionality is invaluable for ensuring the integrity and quality of our projects. We've realized some security improvements, too. Automating our usage of dependencies means we become aware of tracked security issues in our software projects used dependencies via commit pipelines, as well as scheduled pipelines (so we can bump and potentially deploy/release our software projects in case its necessary). Stronger community Adopting GitLab has helped us better serve our community. The Service Desk feature has emerged as a game-changer, offering a streamlined channel to manage specific user requests. This integration with GitLab enhances the workflow without sacrificing overview. And recently, we've significantly increased our use of GitLab Pages. We rely on Pages for publishing documentation, monthly reports, our Web Key Directory and static sites, and we're enthusiastic about expanding its application in the future. More than new tools Arch Linux's migration wasn't just about adopting the latest tools. Our motivation for migrating — and the positive consequences of the upgrade — reflect the values of open source communities like ours, where working together is essential for moving forward. By adopting GitLab, Arch Linux is improving our project's overall atmosphere, creating a space where contributions are welcomed, reviewed, and integrated more easily, and in a way that conforms to contemporary best practices. We're proud to be GitLab Open Source Partners, and we extend our gratitude to GitLab for providing a platform that seamlessly aligns with our vision. Join GitLab at Open Source Summit Europe 2023 to learn more about our dedication to open source.

AI生成摘要 Arch Linux has migrated its packaging infrastructure to GitLab, which has allowed for deeper collaboration, better automation, and a stronger community. The migration involved transferring 13,930 installable packages to 12,138 individual Git repositories. The move has enabled packagers to inspect local history and collaborate more efficiently. The migration also involved revisiting workflows, tools, and software that interacted with the version control system. The use of GitLab CI/CD has played a crucial role in automating development work, and the Service Desk feature has emerged as a game-changer. Arch Linux is proud to be a GitLab Open Source Partner and is dedicated to open source.

相关推荐 去reddit讨论

Rust.cc -

【Rust日报】2023-09-07 Servo 项目将加入欧洲 Linux 基金会

Servo 项目将加入欧洲 Linux 基金会 Servo 项目由 Mozilla Research 于 2012 年创建,是除编译器本身之外的首个主要 Rust 代码库,自此成为实验性网络引擎设计的标志。Servo 的主要组件已被集成到 Firefox 网络浏览器中,其若干解析器和其他底层库也已成为 Rust 生态系统的基础。 作为一个有前途的、现代的、开放的网络引擎,Servo 可用于使用网络技术构建应用程序和沉浸式体验,2020 年,Servo 的管理权从 Mozilla Research 转移到了 Linux 基金会。2023 年,在 Linux 基金会欧洲成员 Igalia 的领导下,Servo 重新活跃起来,目前已有一支工程师团队致力于该项目。今天,我们很高兴地宣布 Servo 项目正式加入 Linux 基金会欧洲分会。 详情请看:https://www.igalia.com/2023/09/07/The-Servo-project-is-joining-Linux-Foundation-Europe.html Tauri 2.0 的 Roadmap 从本质上讲,Tauri 的 2.0 版本主要是移动端的更新,但 2.0 版不仅限于移动端。 详情请看:https://beta.tauri.app/blog/roadmap-to-tauri-2-0/ Candle:适用于 Rust 的全新机器学习框架 Hugging Face 为 Rust 创建了一个新的极简机器学习框架,还创建了用于创建企业代码助手的 SafeCoder。 详情请看:https://thenewstack.io/candle-a-new-machine-learning-framework-for-rust/ From 日报小组 @Jancd 社区学习交流平台订阅: Rust.cc论坛: 支持rss 微信公众号:Rust语言学习交流

AI生成摘要 Servo项目加入了Linux基金会欧洲分会,该项目是Mozilla Research于2012年创建的首个主要Rust代码库,用于实验性网络引擎设计。Servo的主要组件已集成到Firefox浏览器中,并成为Rust生态系统的基础。2023年,Servo项目在Linux基金会欧洲分会的领导下重新活跃起来。Tauri 2.0版本主要是移动端的更新,但不仅限于移动端。Candle是一个适用于Rust的全新机器学习框架,由Hugging Face创建。

相关推荐 去reddit讨论

钟意博客 -

Linux 挂载磁盘

备份一下Linux挂载磁盘方法, 盘要满了 淦

AI生成摘要 本文介绍了在Linux系统下挂载磁盘的步骤,包括准备挂载目录、磁盘分区、格式化分区和挂载磁盘等。其中,还介绍了创建目录、磁盘分区、格式化分区和挂载的具体操作方法,并提供了修改/etc/fstab下次重启不丢失挂载信息的方法。此外,还记录了几种查看磁盘UUID的方法。

相关推荐 去reddit讨论

运维派 -


Linux 对于一个运维的重要性是不言而喻的,我们不仅要学习Linux本身,更要学习在Linux运行的各种应用 […]

AI生成摘要 运维派是国内最早的IT运维技术社区,分享了一份超级全的Linux学习笔记,共1456页,涵盖了Linux基础、shell脚本、防火墙、数据库、日志服务管理、Nginx、高可用集群、Redis、虚拟化、Docker等核心知识。同时提供了一些脚本合集和自动化运维、系统部署、ansible部署、MySQL数据库、Docker容器等内容。该笔记图文并茂,代码清晰,适合Linux运维学习参考。

相关推荐 去reddit讨论

Rust.cc -

Mac OS上的Rust交叉编译aarch64-unknown-linux-gnu错误

我目前正在Mac OS上编译GTK4的Rust绑定的工程,会运行在PinePhone Pro这个手机上,按照官方的给的文档https://wiki.pine64.org/wiki/Cross-compiling#Installing_The_Toolchain 编译会报一系列如下的错误: own-linux-gnu/bin/ld.bfd: cannot find -lgdk_pixbuf-2.0 /usr/local/Cellar/aarch64-unknown-linux-gnu/11.2.0_1/toolchain/bin/../lib/gcc/aarch64-unknown-linux-gnu/11.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld.bfd: cannot find -lgraphene-1.0 /usr/local/Cellar/aarch64-unknown-linux-gnu/11.2.0_1/toolchain/bin/../lib/gcc/aarch64-unknown-linux-gnu/11.2.0/../../../../aarch64-unknown-linux-gnu/bin/ld.bfd: cannot find -lgdk_pixbuf-2.0 collect2: error: ld returned 1 exit status

AI生成摘要 根据之前的摘要,作者目前在Mac OS上编译GTK4的Rust绑定的工程,但在编译过程中遇到了一系列错误,包括找不到所需的库文件。

相关推荐 去reddit讨论

阿里云云栖号 -

便捷、快速、稳定、高性能!以 GPU 实例演示 Alibaba Cloud Linux 3 对 AI 生态的支持

在多维度的优化加持下,Alibaba Cloud Linux 3 解决了 AI 开发人员的痛点问题,让 AI 开发体验更容易更高效。

AI生成摘要 阿里巴巴云计算推出了Alibaba Cloud Linux 3,为AI开发提供了优化升级。Alibaba Cloud Linux 3支持主流的NVIDIA GPU和CUDA生态系统,以及TensorFlow/PyTorch等AI框架。它还针对不同平台的CPU进行了AI优化,并引入了ModelScope和HuggingFace等大型模型SDK的原生支持。通过Alibaba Cloud Linux 3,开发人员可以更轻松、高效地进行AI开发。

相关推荐 去reddit讨论

阿里云云栖号 -

Linux 内存管理新特性 - Memory folios 解读

folio 是什么?它的直接价值有哪些?

AI生成摘要 本文介绍了Linux内核中的新数据结构folio。folio是对page的一层包装,用于解决page的多重含义和冗余调用的问题。folio的结构定义和page完全一致,可以直接使用folio->flags而不用folio->page->flags。folio的引入减少了冗余的compound_head调用,给开发者提供了更直观的提示,同时修复了潜在的bug。folio已经在Linux内核的文件系统中得到了应用,并在后续版本中将进一步扩展。尽管folio并不完美,但它是在正确方向上迈出的重要一步。

相关推荐 去reddit讨论

解道jdon.com -

Linux 6.6 ext4提高Kafka性能34%

有了这个补丁,测试在5066毫秒内完成,结果性能提高了34%。在Kafka版本2.6.2的测试场景中,使用2K的数据包大小,导致10%的性能提升。 来自阿里Liu Song的测试: 我在 32 核环境中进行了测试,启动 32 个并发线程对同一文件进行追加写入。每次写操作的长度为长度为 1024 字节,重复 100000 次。在不使用此补丁,测试在 7705 毫秒内完成。但使用此补丁后测试则在 5066 毫秒内完成,性能提高了34%.此外,在 Kafka 2.6.2 版本的测试场景中,使用数据包大小为2K 的测试场景中,使用该补丁后,性能提高了 10%。 详细点击标题

AI生成摘要 这个补丁提高了Kafka的性能,测试结果显示性能提高了34%。在使用2K数据包大小的测试场景中,性能提升了10%。详细信息请点击标题。

相关推荐 去reddit讨论