V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  looyao  ›  全部回复第 2 页 / 共 2 页
回复总数  34
1  2  
2015-12-24 16:50:46 +08:00
回复了 Plumes 创建的主题 问与答 LAMP 网站部分请求无法响应,求解
@Plumes 感觉可能是 ty_member 、 shopjl_order_pay 更新操作有瓶颈了,不知道这两个表的记录数有多少,先看下 where 条件是否走索引,如果没有走索引可能就是问题所在了。还有就是,不知道你是否配置了从库,如果没有从库可以搭建一个从库,做一下读写分离,查询的都走从库。如果是因为表的记录数过多导致的话,可以考虑分表了,比如按月或者季度等。只是大概一个思路,希望能帮到你。
2015-12-23 11:53:47 +08:00
回复了 Plumes 创建的主题 问与答 LAMP 网站部分请求无法响应,求解
如果是 NGINX+PHP-FPM 的话

先看下 NGINX 的 error 日志,哪个链接出现了 timeout ,这样可以定位到功能。

PHP-FPM 如果没有配置慢日志,配置一下慢日志,这样可以方便看到具体哪里慢,可以定位到具体代码航。

MySQL 也可以配置下慢日志,这样方便分析问题。线上的话, show processlist 看下,具体那个 SQL 执行的慢。

还有,看下服务器性能, TOP 看下 CPU 占用,负载,如果负载值超过了 CPU 个数,说明有任务堆积,可能是某个逻辑慢,导致链接堆积处理不完,这就要看上边几个问题来分析了。其他感觉 I/O 应该没问题,不过也可以看下。
2015-12-23 09:52:30 +08:00
回复了 huage 创建的主题 问与答 关于通过禁用 root 账户来提高安全性的疑问
@huage 没明白你说的意思,你是说要禁止其他用户切换到 root 么?
2015-12-23 09:35:39 +08:00
回复了 huage 创建的主题 问与答 关于通过禁用 root 账户来提高安全性的疑问
可以参考这个配置 sudo , https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/2/html/Getting_Started_Guide/ch02s03.html

然后 sshd 配置禁止 root 登陆,用普通用户登陆后 sudo 提升权限。
2015-12-05 18:58:15 +08:00
回复了 vus520 创建的主题 问与答 Linux 下遍历大文件每一行的最佳方法,最好是命令
@vus520 不好意思, Linux 才可以,没有说明。代码临时写的,可能不够严谨,其实就是这个意思,默认读取文件,全部读取完成后监控文件改变再读,这样。不用怕大文件,其实没什么关系。 PS :代码粘上来米有缩进,好丑,下次不粘了,哈哈。
2015-12-05 18:25:15 +08:00
回复了 vus520 创建的主题 问与答 Linux 下遍历大文件每一行的最佳方法,最好是命令
这里可以粘帖代码么,额
//tail_demo.c

#include <stdio.h>
#include <strings.h>
#include <stdlib.h>
#include <unistd.h>

#include <sys/inotify.h>


int tail(char *path, long *pos);

int main(int argc, char *argv[])
{
int inotify_fd, watch_fd, n;
long pos;
struct inotify_event event;
void *evp;
char *path;

if (argc != 2) {
return -1;
}

path = argv[1];
pos = 0;

if (tail(path, &pos) < 0) {
return -2;
}

evp = &event;

inotify_fd = inotify_init();
watch_fd = inotify_add_watch(inotify_fd, path, IN_MODIFY | IN_DELETE_SELF | IN_MOVE_SELF);
if (watch_fd <= 0) {
fprintf(stderr, "inotify_add_watch error:%s\n", path);
return -3;
}

//这里可以使用 select, poll 轮询下 inotify_fd

while (1) {
bzero(&event, sizeof(struct inotify_event));
n = read(inotify_fd, evp, sizeof(struct inotify_event));
if (n <= 0) {
fprintf(stderr, "read error\n");
break;
}

if (event.mask & IN_MODIFY) {
tail(path, &pos);
}
}

}

int tail(char *path, long *pos)
{
FILE *handle;
char buf[1024];

handle = fopen(path, "r");
if (!handle) {
fprintf(stderr, "can't open file:%s\n", path);
return -1;
}

fseek(handle, *pos, SEEK_SET);

while (!feof(handle)) {
bzero(buf, sizeof(buf));
fgets(buf, sizeof(buf), handle);
printf("%s", buf);
*pos = ftell(handle);
}

fclose(handle);
}


编译:
gcc tail_demo.c -o tail_demo
使用:
./tail_demo 文件路径
2015-12-04 12:00:45 +08:00
回复了 Changyue 创建的主题 健康 gg,耳鸣找上门了,人生太艰难
我前阵子就这样,右耳耳鸣并且听力下降,医院诊断感音神经性耳聋,吃了一个星期的药,没什么效果,复查去的另外一家医院,也是说如果吃药没恢复就会一直这样,整个人都不好了,晚上睡觉耳朵一直嗡嗡的响。之后减少加班,晚上早睡,不知不觉就好了。所以,按时休息,不要熬夜,可能会慢慢恢复。
加个 try_files ,访问不存在的直接返回 404 。类似这种 1.jpg/1.php 尝试, 1.jpg 就不会被解析了。

location ~ \.php$ {
try_files $uri = 404;

fastcgi_pass 127.0.0.1:9000;
...
}
2015-09-11 09:50:27 +08:00
回复了 NewShepherd 创建的主题 成都 雨一直下,有点冷
说不着边的话
2015-09-10 10:08:12 +08:00
回复了 chuanwu 创建的主题 Redis redis 本身有持久化,为什么还要写进 mysql 呢?
SQL 查询还是要强大很多吧,简单分析需求可能一个 SQL 就搞定了。还有一种就是如果数据量多了, Redis 会吃满内存,内存爆掉会有丢数据的风险,这时序列化到 MySQL 就是一种解决方案,将一些冷数据从 Redis 转移到 MySQL ,降低 Redis 内存使用。
Redis 的确很强大,但是内存这块吃紧就不好玩了,国人 SSDB 在这块可能好些(题外话)。
2015-07-11 13:22:45 +08:00
回复了 Actrace 创建的主题 程序员 workerman - PHP socket Framework
@Actrace 目前的计划是使用php多进程,pcntl,一个master进程负责创建和监控woker进程,比如master开始创建N个worker进程,worker进程执行固定次数任务后退出(防止内存泄漏,释放资源),master进程监控worker进程状态,当worker进程退出时,重新创建新的worker进程。php多线程还没接触过,有时间看下效果。
2015-07-11 11:03:37 +08:00
回复了 Actrace 创建的主题 程序员 workerman - PHP socket Framework
@mathgl 当初设想就是使用swoole做数据收集,记录日志,统计,现在看来效果没达到预想,准备还是使用beanstalkd,用队列系统来做。go和python应该是比较好的选择,但是团队基本都只熟悉php,暂时不准备拓展其他语言栈。
2015-07-10 10:22:01 +08:00
回复了 Actrace 创建的主题 程序员 workerman - PHP socket Framework
看到有人推荐swoole,最近在用swoole,默认如果不指定max_task_request,运行几天内存会爆掉,指定了max_task_request,执行一定次数重启task,但是还是有问题,整个server都会莫名的挂掉,swoole版本 是1.7.17。崩溃前日志是`WARN swProcessPool_wait: [Manager]unknow worker`。相关问题也很难找到答案,文档基本也看了好几遍... 也许php真的不适合long time running(主要是内存,垃圾回收这里)
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3479 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 11:25 · PVG 19:25 · LAX 03:25 · JFK 06:25
Developed with CodeLauncher
♥ Do have faith in what you're doing.