我正在使用2GB RAM,2核心XEON处理器。 我想configuration我的Apache,MySQL和PHP为我提供高性能,到目前为止,当我尝试用压力testing来testing我的服务器时,它正在快速崩溃。
当我看到日志时,它说apache和mysql的内存不足。
请帮忙!!!
几乎可以肯定发生在你身上的经典情况是,所有的物理内存(RAM)都被正在运行的应用程序占用,导致使用交换。 当你的机器开始使用你的交换空间时,你会发现IO开始减慢(因为使用你的交换也使用你的可用IO),这会导致页面加载花费更长的时间。 这反过来又会导致更多的页面渲染延续更久,并且随着您不停地提供更多的页面请求,循环会自动提供,并且交换io的重量会使您的机器变得无法响应。
这里的关键是你需要为MySQL和Apache设置内存的边界(在这里,php通常与Apache混为一谈)。
首先,您需要了解运行MySQL需要多less内存,然后为MySQL设置限制。 这个网站上有关于这个过程的信息。
在为系统分配一些内存后,剩下的内存中,然后是一些用于MySQL的内存,您需要查看apache / php。
一次可以同时提供的apache儿童的数量取决于Wordpress用于单个页面加载的内存量,这个加载可能会随着WordPress随时在任何时候处于活动状态而变化很大。 理想的第一步是评估一个php进程可以使用的最大内存,因为你可能不会使用超过这个数量加上每页负载的一点点开销。
然后,把它分成可用的RAM,你将在一个合理的位置附近为MaxClients for Apache启动一个数字。 再次,有许多地方限制apache内存使用的信息,有人可能会链接在这个线程中的一些。
要记住的主要是我的第一个build议。 你很可能会使用比内存更多的物理内存,这会导致交换使用率过高。 如果您的服务器负载过重,则无法毫无限制地解决这种情况。
在你想知道是否需要担心这种“最坏情况”的情况之前,我不得不说,你几乎肯定会这样做。 没有什么能像硬盘重置linux机器一样有趣,因为上述计算还没有完成,另外一台机器在半夜因为蜘蛛或其他讨厌的机器人爬行你的站点而变得反应迟钝。