全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1653|回复: 10
打印 上一主题 下一主题

[Windows VPS] 内存不怎么使用 cpu非常耗资源 改怎么优化啊

[复制链接]
跳转到指定楼层
1#
发表于 2018-5-25 14:14:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


负载很高 内存确只使用了一点点 这种情况该怎么优化啊

给mysql调高了好多数值 也没用
一开始使用的2G  直接卡爆 现在升级到8G 总算不算很卡了 不过负载非常高  而且内存为何就使用几百M啊
lin 8G
使用的帝国cms全动态模式 (做了太多关联页面通过调不同模板id 实现一个文章有几个页面) 所以无法使用静态模式
(因为内容页做了关联页导致内容页 使用帝国自带的缓存 全部重定向到同一个页了 T T)

php的配置

  1. [global]
  2. pid = /usr/local/php/var/run/php-fpm.pid
  3. error_log = /usr/local/php/var/log/php-fpm.log
  4. log_level = notice

  5. [www]
  6. listen = /tmp/php-cgi.sock
  7. listen.backlog = -1
  8. listen.allowed_clients = 127.0.0.1
  9. listen.owner = www
  10. listen.group = www
  11. listen.mode = 0666
  12. user = www
  13. group = www
  14. pm = dynamic
  15. pm.max_children = 36       
  16. pm.start_servers = 18
  17. pm.min_spare_servers = 18
  18. pm.max_spare_servers = 36
  19. request_terminate_timeout = 100
  20. request_slowlog_timeout = 0
  21. slowlog = var/log/slow.log
复制代码



my.cnf 配置

  1. [client]
  2. #password   = your_password
  3. port        = 3306
  4. socket      = /tmp/mysql.sock

  5. [mysqld]
  6. port        = 3306
  7. socket      = /tmp/mysql.sock
  8. datadir = /usr/local/mysql/var
  9. skip-external-locking
  10. key_buffer_size = 256M
  11. max_allowed_packet = 4M
  12. table_open_cache = 1024
  13. sort_buffer_size = 768K
  14. net_buffer_length = 32K
  15. read_buffer_size = 768K
  16. read_rnd_buffer_size = 512K
  17. myisam_sort_buffer_size = 64M
  18. thread_cache_size = 128
  19. query_cache_type = 1
  20. query_cache_size = 64M
  21. max_heap_table_size=256M
  22. tmp_table_size = 256M
  23. query_cache_limit =2M
  24. performance_schema_max_table_instances = 500

  25. explicit_defaults_for_timestamp = true
  26. #skip-networking
  27. max_connections = 10000
  28. max_connect_errors = 100
  29. open_files_limit = 65535

  30. log-bin=mysql-bin
  31. binlog_format=mixed
  32. server-id   = 1
  33. expire_logs_days = 10
  34. early-plugin-load = ""

  35. #loose-innodb-trx=0
  36. #loose-innodb-locks=0
  37. #loose-innodb-lock-waits=0
  38. #loose-innodb-cmp=0
  39. #loose-innodb-cmp-per-index=0
  40. #loose-innodb-cmp-per-index-reset=0
  41. #loose-innodb-cmp-reset=0
  42. #loose-innodb-cmpmem=0
  43. #loose-innodb-cmpmem-reset=0
  44. #loose-innodb-buffer-page=0
  45. #loose-innodb-buffer-page-lru=0
  46. #loose-innodb-buffer-pool-stats=0
  47. #loose-innodb-metrics=0
  48. #loose-innodb-ft-default-stopword=0
  49. #loose-innodb-ft-inserted=0
  50. #loose-innodb-ft-deleted=0
  51. #loose-innodb-ft-being-deleted=0
  52. #loose-innodb-ft-config=0
  53. #loose-innodb-ft-index-cache=0
  54. #loose-innodb-ft-index-table=0
  55. #loose-innodb-sys-tables=0
  56. #loose-innodb-sys-tablestats=0
  57. #loose-innodb-sys-indexes=0
  58. #loose-innodb-sys-columns=0
  59. #loose-innodb-sys-fields=0
  60. #loose-innodb-sys-foreign=0
  61. #loose-innodb-sys-foreign-cols=0

  62. default_storage_engine = InnoDB
  63. innodb_file_per_table = 1
  64. innodb_data_home_dir = /usr/local/mysql/var
  65. innodb_data_file_path = ibdata1:10M:autoextend
  66. innodb_log_group_home_dir = /usr/local/mysql/var
  67. innodb_buffer_pool_size = 128M
  68. innodb_log_file_size = 32M
  69. innodb_log_buffer_size = 8M
  70. innodb_flush_log_at_trx_commit = 1
  71. innodb_lock_wait_timeout = 50

  72. [mysqldump]
  73. quick
  74. max_allowed_packet = 16M

  75. [mysql]
  76. no-auto-rehash

  77. [myisamchk]
  78. key_buffer_size = 64M
  79. sort_buffer_size = 768K
  80. read_buffer = 2M
  81. write_buffer = 2M

  82. [mysqlhotcopy]
  83. interactive-timeout
复制代码
2#
发表于 2018-5-25 14:23:28 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
3#
发表于 2018-5-25 14:31:25 | 只看该作者
关联太多了

1:重写数据库模块
2:增加数据库缓存模块
4#
 楼主| 发表于 2018-5-25 14:38:44 | 只看该作者
asdqwe876 发表于 2018-5-25 14:31
关联太多了

1:重写数据库模块

这个是要2次开发么
5#
发表于 2018-5-25 14:41:29 | 只看该作者
用缓存换执行时间
6#
发表于 2018-5-25 14:46:48 | 只看该作者
nginx这里设置按照以用户划分的http request缓存一定时间如一分钟,游客为一个,然后不同用户为一个。
这样可以大大降低进入数据库的查询。

我以前有个phpwind论坛也是这样玩的,如果熟悉那网站系统可以设置得非常严谨,例如本论坛/thread-451823-1-1.html 的规则是这样的,绝对不会出现/thread-451823-1-1.html?rand=123。这样还能防范简易的cc攻击。因为每次某个用户登陆/thread-451823-1-1.html页面都是访问缓存一分钟的页面。所有游客共用同一个cache item。

如果我无猜错帝国cms本身也应该有缓存时间的设置。。。

php、nginx都能设置。
7#
 楼主| 发表于 2018-5-25 14:54:57 | 只看该作者
本帖最后由 ninqq 于 2018-5-25 14:58 编辑
kingshui 发表于 2018-5-25 14:46
nginx这里设置按照以用户划分的http request缓存一定时间如一分钟,游客为一个,然后不同用户为一个。
这样 ...


nginx缓存弄过 然后发现登陆用户也被缓存了 (游客访问用户中心 直接是别人登陆的样子了)不知道怎么分开来  T T

ps:我是在反代服务器上设置的 是不是这个得在后端服务器上设置才行啊
8#
发表于 2018-5-25 18:39:19 来自手机 | 只看该作者
show processlist;
9#
发表于 2018-5-26 00:16:20 来自手机 | 只看该作者
io不行,优化作用不大,开缓存,上ssd。
10#
发表于 2018-5-26 02:32:44 | 只看该作者
本帖最后由 kingshui 于 2018-5-26 02:35 编辑
ninqq 发表于 2018-5-25 14:54
nginx缓存弄过 然后发现登陆用户也被缓存了 (游客访问用户中心 直接是别人登陆的样子了)不知道怎么分开来 ...


看你帝国cms的处理方式了,如果使用cookie识别用户的,nginx这样获得cookie,$cookie_user 其中user就是cookie内的user。
只要把它加到nginx缓存key中即可。

nginx可以在proxy或fastcgi方式缓存。。。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-11-13 03:19 , Processed in 0.073596 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表