我正在寻找有关我应该在哪里存储应用程序配置数据和默认文本值的反馈,这些数据将具有最佳性能。例如,我一直坚持像默认URL值和web.config中的错误消息或应用程序指令的默认文本,但现在我想知道这是否会扩展....如果它甚至是正确的事情首先要做的事情。哪些性能更好 - 在AppSettings或数据库中配置?
回答
如果是单个服务器设置(而不是Web场),则将其存储在Web.Config文件中。还有就是Web场框架的新版本,你可以查看详细信息,该类型的场景在这里:
http://weblogs.asp.net/scottgu/archive/2010/09/08/introducing-the-microsoft-web-farm-framework.aspx
如果数据库是在同一台机器的性能差异可能会忽视,能。如果您需要通过电线连接到某个数据库,那么它很可能会比较慢,那么可以直接访问而不是太大的web.config。
我真的希望在这里保持简单,只需使用web.config即可。它可能已经被一些系统组件缓存在内存中。如果你觉得它太慢测量它,然后可能会去一个更复杂的解决方案。
话虽如此,你可以简单地读取应用程序启动时的所有配置并将其保存在内存中。这样,任何性能差异都会缓解到应用程序的启动时间。您还可以在启动时验证配置文件。
不确定您的默认设置,只是问问自己他们是否特定于环境,是否真的想要更改而不需要重新编译。作为配置文件,用例是什么?一些操作人员或开发人员是否会设置这些默认设置?你打算记录它们吗?你打算让你的应用程序对任何配置都健壮吗? 这些默认设置将用于多个环境/安装(例如用于本地化)吗?那么也许最好使用不同的独立文件,在需要时可以单独重新部署。
设置多久会发生变化?
如果他们永远不会改变,你可以将它们放在web.config中,并配置IIS,以便它不监视文件的变化。这将会导致一个小的启动罚款,但在此之后,不应该有性能损失。
但说实话,大概有几十个其他地方,以提高你开始担心在此之前 - 还记得,“Premature Optimization is the root of all evil” :)
正如前面提到的,这实在不应该事 - 设置,无论是在web.config或数据库中,应该是“只读”,然后缓存,所以这真的不重要。
我几乎可以保证你的代码的其他部分会比这慢得多。
作为一个侧面说明,而不是性能相关的,但是如果你需要担心的网站的正常运行时间,你可以在飞行数据库编辑配置,但改变的web.config将导致AppDomain重新启动和随后会议的损失。
好吧,只是要清楚...我并不担心这一点,因为我只是在寻找有关其他人如何存储其配置数据的反馈。在初始载荷和后续载荷过程中,性能的差异会对我有什么影响。这个问题不关心我的代码的其他部分,因为它最后加起来......对吧? – Cognitronic 2011-01-21 16:13:03
- 1. 哪些jQuery选择器性能更好?
- 2. 哪些这些条件在php中有更好的性能?
- 3. 现在哪些数据结构更好?
- 4. 哪个更好:多数据库或单个数据库
- 5. 重复数据或更好的性能?
- 6. 性能明智:哪个更好Laravel数据库
- 7. 实现更好的数据库性能
- 8. ReadOnly数据库性能更好
- 9. 哪个更好,在javascript或数据库中搜索?
- 10. 其中哪些在性能方面更好?
- 11. 在PHP中哪个性能更好?
- 12. 根据性能,哪个代码更好?
- 13. XPath性能 - 哪个更好?
- 14. 哪些无模式数据存储提供良好的性能?
- 15. 哪种情况下性能更好
- 16. 数据库中存储的Drupal性能设置在哪里?
- 17. PHP性能 - 数组函数与数据库调用,哪种逻辑更好?
- 18. 在Lucene或SQL中性能更好
- 19. 哪些数据库可以更好地用于pyqt应用
- 20. 更新MPAndroidChart中的数据有哪些性能瓶颈?
- 21. 哪些jQuery JavaScript会有更好的性能?
- 22. 哪给了我更好的性能Activerecord find_by或者哪里?
- 23. 哪个更好的数据库设计?
- 24. 数据库 - 哪个更好,为什么?
- 25. 数据库设计 - 哪一个更好?
- 26. 在构造函数或类中分配属性值,哪个更好?
- 27. 更好的方法来存储配置设置 - 内存或数据库
- 28. 在配置单元或hcatalog中更改数据库的表
- 29. 哪些数据库模式更可取?
- 30. 哪种性能更好? COBOL中的“if else”或“Evaluate”语句?
大多数设置可能不会更改太频繁,但多久未知。正如我下面所说的,我不是“担心”这个......我只是在寻找关于这个问题的反馈。 – Cognitronic 2011-01-21 16:15:35